Conversation
Codecov Report
@@ Coverage Diff @@
## master #213 +/- ##
=======================================
Coverage 93.65% 93.65%
=======================================
Files 87 87
Lines 4226 4226
Branches 384 384
=======================================
Hits 3958 3958
Misses 268 268
Continue to review full report at Codecov.
|
Signed-off-by: Karen Feng <karen.feng@databricks.com>
Signed-off-by: Karen Feng <karen.feng@databricks.com>
Signed-off-by: Karen Feng <karen.feng@databricks.com>
henrydavidge
left a comment
There was a problem hiding this comment.
The code looks fine. I'm a little confused about the circumstances when you can use these conversions. Is it only in a literal, or is it anywhere that you construct a DataFrame manually?
| dense_matrix = sc._jvm.org.apache.spark.ml.linalg.DenseMatrix(object.shape[0], object.shape[1], java_arr) | ||
| matrix_udt = sc._jvm.org.apache.spark.ml.linalg.MatrixUDT() | ||
| converter = sc._jvm.org.apache.spark.sql.catalyst.CatalystTypeConverters.createToCatalystConverter(matrix_udt) | ||
| literal_matrix = sc._jvm.org.apache.spark.sql.catalyst.expressions.Literal.create( |
There was a problem hiding this comment.
Hm, it seems a little weird that we explicitly wrap in a Literal here. Does that mean that this conversion doesn't work with spark.createDataFrame? Not sure I would expect that as a user.
There was a problem hiding this comment.
Unfortunately the PySpark pathways for createDataFrame and lit are very different. Passing this as a Literal allows us to bypass the usual type-checking and conversion logic.
henrydavidge
left a comment
There was a problem hiding this comment.
Just a comment. It might be possible to skip the catalyst data converter stuff and rely on Literal.create(java_obj). Also, have you verified that this works in DBR?
python/glow/conversions.py
Outdated
| if java_converter.can_convert(col): | ||
| jvm = SparkContext._active_spark_context._jvm | ||
| java_obj, data_type = java_converter.convert(col) | ||
| catalyst_converter = jvm.org.apache.spark.sql.catalyst.CatalystTypeConverters.createToCatalystConverter( |
There was a problem hiding this comment.
It might work to call Literal.create directly on the Java object without creating a type converter manually.
There was a problem hiding this comment.
We can't use create[T : TypeTag](v: T) due to type tags being filled in by the compiler. However, I believe we also can't natively use Literal.create(v, dataType), which depends on the limited types offered in convertToCatalyst versus those in createToCatalystConverter. I changed this to directly call the constructor for Literal to match the type-tagged implementation.
This works in DBR if the user runs |
d184561 to
093808e
Compare
Signed-off-by: Karen Feng <karen.feng@databricks.com>
Signed-off-by: Karen Feng <karen.feng@databricks.com>
Signed-off-by: Karen Feng <karen.feng@databricks.com>
henrydavidge
left a comment
There was a problem hiding this comment.
LGTM, thanks for the patience on this one!
* WIP Signed-off-by: Karen Feng <karen.feng@databricks.com> * Ndarray Signed-off-by: Karen Feng <karen.feng@databricks.com> * More tests Signed-off-by: Karen Feng <karen.feng@databricks.com> * Support flat array Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move registering Signed-off-by: Karen Feng <karen.feng@databricks.com> * pytest Signed-off-by: Karen Feng <karen.feng@databricks.com> * Make docstring more accurate Signed-off-by: Karen Feng <karen.feng@databricks.com> * idempotent registration Signed-off-by: Karen Feng <karen.feng@databricks.com> * Test fixup Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move import out Signed-off-by: Karen Feng <karen.feng@databricks.com>
* Support numpy literals (#213) * WIP Signed-off-by: Karen Feng <karen.feng@databricks.com> * Ndarray Signed-off-by: Karen Feng <karen.feng@databricks.com> * More tests Signed-off-by: Karen Feng <karen.feng@databricks.com> * Support flat array Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move registering Signed-off-by: Karen Feng <karen.feng@databricks.com> * pytest Signed-off-by: Karen Feng <karen.feng@databricks.com> * Make docstring more accurate Signed-off-by: Karen Feng <karen.feng@databricks.com> * idempotent registration Signed-off-by: Karen Feng <karen.feng@databricks.com> * Test fixup Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move import out Signed-off-by: Karen Feng <karen.feng@databricks.com> * Add documentation for the GFF3 reader (#221) * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * notebook Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * attributes Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * yapf Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> Signed-off-by: Karen Feng <karen.feng@databricks.com> * Remove cross-build plugin Signed-off-by: Karen Feng <karen.feng@databricks.com> * wrap Signed-off-by: Karen Feng <karen.feng@databricks.com> * triple quote Signed-off-by: Karen Feng <karen.feng@databricks.com> * set 'for imports' and 'for builds' within sbt settings Signed-off-by: Karen Feng <karen.feng@databricks.com> * CircleCI config Signed-off-by: Karen Feng <karen.feng@databricks.com> * wrap release Signed-off-by: Karen Feng <karen.feng@databricks.com> * More docs Signed-off-by: Karen Feng <karen.feng@databricks.com> * Comments Signed-off-by: Karen Feng <karen.feng@databricks.com> Co-authored-by: Kiavash Kianfar <kiavash.kianfar@databricks.com>
* WIP Signed-off-by: Karen Feng <karen.feng@databricks.com> * Ndarray Signed-off-by: Karen Feng <karen.feng@databricks.com> * More tests Signed-off-by: Karen Feng <karen.feng@databricks.com> * Support flat array Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move registering Signed-off-by: Karen Feng <karen.feng@databricks.com> * pytest Signed-off-by: Karen Feng <karen.feng@databricks.com> * Make docstring more accurate Signed-off-by: Karen Feng <karen.feng@databricks.com> * idempotent registration Signed-off-by: Karen Feng <karen.feng@databricks.com> * Test fixup Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move import out Signed-off-by: Karen Feng <karen.feng@databricks.com>
* WIP Signed-off-by: Karen Feng <karen.feng@databricks.com> * Ndarray Signed-off-by: Karen Feng <karen.feng@databricks.com> * More tests Signed-off-by: Karen Feng <karen.feng@databricks.com> * Support flat array Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move registering Signed-off-by: Karen Feng <karen.feng@databricks.com> * pytest Signed-off-by: Karen Feng <karen.feng@databricks.com> * Make docstring more accurate Signed-off-by: Karen Feng <karen.feng@databricks.com> * idempotent registration Signed-off-by: Karen Feng <karen.feng@databricks.com> * Test fixup Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move import out Signed-off-by: Karen Feng <karen.feng@databricks.com>
* Support numpy literals (projectglow#213) * WIP Signed-off-by: Karen Feng <karen.feng@databricks.com> * Ndarray Signed-off-by: Karen Feng <karen.feng@databricks.com> * More tests Signed-off-by: Karen Feng <karen.feng@databricks.com> * Support flat array Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move registering Signed-off-by: Karen Feng <karen.feng@databricks.com> * pytest Signed-off-by: Karen Feng <karen.feng@databricks.com> * Make docstring more accurate Signed-off-by: Karen Feng <karen.feng@databricks.com> * idempotent registration Signed-off-by: Karen Feng <karen.feng@databricks.com> * Test fixup Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move import out Signed-off-by: Karen Feng <karen.feng@databricks.com> * Add documentation for the GFF3 reader (projectglow#221) * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * notebook Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * attributes Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * yapf Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> Signed-off-by: Karen Feng <karen.feng@databricks.com> * Remove cross-build plugin Signed-off-by: Karen Feng <karen.feng@databricks.com> * wrap Signed-off-by: Karen Feng <karen.feng@databricks.com> * triple quote Signed-off-by: Karen Feng <karen.feng@databricks.com> * set 'for imports' and 'for builds' within sbt settings Signed-off-by: Karen Feng <karen.feng@databricks.com> * CircleCI config Signed-off-by: Karen Feng <karen.feng@databricks.com> * wrap release Signed-off-by: Karen Feng <karen.feng@databricks.com> * More docs Signed-off-by: Karen Feng <karen.feng@databricks.com> * Comments Signed-off-by: Karen Feng <karen.feng@databricks.com> Co-authored-by: Kiavash Kianfar <kiavash.kianfar@databricks.com>
* Support numpy literals (#213) * WIP Signed-off-by: Karen Feng <karen.feng@databricks.com> * Ndarray Signed-off-by: Karen Feng <karen.feng@databricks.com> * More tests Signed-off-by: Karen Feng <karen.feng@databricks.com> * Support flat array Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move registering Signed-off-by: Karen Feng <karen.feng@databricks.com> * pytest Signed-off-by: Karen Feng <karen.feng@databricks.com> * Make docstring more accurate Signed-off-by: Karen Feng <karen.feng@databricks.com> * idempotent registration Signed-off-by: Karen Feng <karen.feng@databricks.com> * Test fixup Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move import out Signed-off-by: Karen Feng <karen.feng@databricks.com> * Add documentation for the GFF3 reader (#221) * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * notebook Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * attributes Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * yapf Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> Signed-off-by: Karen Feng <karen.feng@databricks.com> * Remove cross-build plugin Signed-off-by: Karen Feng <karen.feng@databricks.com> * wrap Signed-off-by: Karen Feng <karen.feng@databricks.com> * triple quote Signed-off-by: Karen Feng <karen.feng@databricks.com> * set 'for imports' and 'for builds' within sbt settings Signed-off-by: Karen Feng <karen.feng@databricks.com> * CircleCI config Signed-off-by: Karen Feng <karen.feng@databricks.com> * wrap release Signed-off-by: Karen Feng <karen.feng@databricks.com> * new rule Signed-off-by: Henry D <henrydavidge@gmail.com> * Support numpy literals (#213) * WIP Signed-off-by: Karen Feng <karen.feng@databricks.com> * Ndarray Signed-off-by: Karen Feng <karen.feng@databricks.com> * More tests Signed-off-by: Karen Feng <karen.feng@databricks.com> * Support flat array Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move registering Signed-off-by: Karen Feng <karen.feng@databricks.com> * pytest Signed-off-by: Karen Feng <karen.feng@databricks.com> * Make docstring more accurate Signed-off-by: Karen Feng <karen.feng@databricks.com> * idempotent registration Signed-off-by: Karen Feng <karen.feng@databricks.com> * Test fixup Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move import out Signed-off-by: Karen Feng <karen.feng@databricks.com> * Add documentation for the GFF3 reader (#221) * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * notebook Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * attributes Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * yapf Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * More docs Signed-off-by: Karen Feng <karen.feng@databricks.com> * add tests Signed-off-by: Henry D <henrydavidge@gmail.com> * style Signed-off-by: Henry D <henrydavidge@gmail.com> * Fix IntelliJ import (#223) * Support numpy literals (#213) * WIP Signed-off-by: Karen Feng <karen.feng@databricks.com> * Ndarray Signed-off-by: Karen Feng <karen.feng@databricks.com> * More tests Signed-off-by: Karen Feng <karen.feng@databricks.com> * Support flat array Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move registering Signed-off-by: Karen Feng <karen.feng@databricks.com> * pytest Signed-off-by: Karen Feng <karen.feng@databricks.com> * Make docstring more accurate Signed-off-by: Karen Feng <karen.feng@databricks.com> * idempotent registration Signed-off-by: Karen Feng <karen.feng@databricks.com> * Test fixup Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move import out Signed-off-by: Karen Feng <karen.feng@databricks.com> * Add documentation for the GFF3 reader (#221) * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * notebook Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * attributes Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * yapf Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> Signed-off-by: Karen Feng <karen.feng@databricks.com> * Remove cross-build plugin Signed-off-by: Karen Feng <karen.feng@databricks.com> * wrap Signed-off-by: Karen Feng <karen.feng@databricks.com> * triple quote Signed-off-by: Karen Feng <karen.feng@databricks.com> * set 'for imports' and 'for builds' within sbt settings Signed-off-by: Karen Feng <karen.feng@databricks.com> * CircleCI config Signed-off-by: Karen Feng <karen.feng@databricks.com> * wrap release Signed-off-by: Karen Feng <karen.feng@databricks.com> * More docs Signed-off-by: Karen Feng <karen.feng@databricks.com> * Comments Signed-off-by: Karen Feng <karen.feng@databricks.com> Co-authored-by: Kiavash Kianfar <kiavash.kianfar@databricks.com> * comments Signed-off-by: Henry D <henrydavidge@gmail.com> * more docs Signed-off-by: Henry D <henrydavidge@gmail.com> * note pr Signed-off-by: Henry D <henrydavidge@gmail.com> Co-authored-by: Karen Feng <karen.feng@databricks.com> Co-authored-by: Kiavash Kianfar <kiavash.kianfar@databricks.com>
* WIP Signed-off-by: Karen Feng <karen.feng@databricks.com> * Ndarray Signed-off-by: Karen Feng <karen.feng@databricks.com> * More tests Signed-off-by: Karen Feng <karen.feng@databricks.com> * Support flat array Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move registering Signed-off-by: Karen Feng <karen.feng@databricks.com> * pytest Signed-off-by: Karen Feng <karen.feng@databricks.com> * Make docstring more accurate Signed-off-by: Karen Feng <karen.feng@databricks.com> * idempotent registration Signed-off-by: Karen Feng <karen.feng@databricks.com> * Test fixup Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move import out Signed-off-by: Karen Feng <karen.feng@databricks.com> Signed-off-by: Henry Davidge <hhd@databricks.com>
* Support numpy literals (projectglow#213) * WIP Signed-off-by: Karen Feng <karen.feng@databricks.com> * Ndarray Signed-off-by: Karen Feng <karen.feng@databricks.com> * More tests Signed-off-by: Karen Feng <karen.feng@databricks.com> * Support flat array Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move registering Signed-off-by: Karen Feng <karen.feng@databricks.com> * pytest Signed-off-by: Karen Feng <karen.feng@databricks.com> * Make docstring more accurate Signed-off-by: Karen Feng <karen.feng@databricks.com> * idempotent registration Signed-off-by: Karen Feng <karen.feng@databricks.com> * Test fixup Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move import out Signed-off-by: Karen Feng <karen.feng@databricks.com> * Add documentation for the GFF3 reader (projectglow#221) * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * notebook Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * attributes Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * yapf Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> Signed-off-by: Karen Feng <karen.feng@databricks.com> * Remove cross-build plugin Signed-off-by: Karen Feng <karen.feng@databricks.com> * wrap Signed-off-by: Karen Feng <karen.feng@databricks.com> * triple quote Signed-off-by: Karen Feng <karen.feng@databricks.com> * set 'for imports' and 'for builds' within sbt settings Signed-off-by: Karen Feng <karen.feng@databricks.com> * CircleCI config Signed-off-by: Karen Feng <karen.feng@databricks.com> * wrap release Signed-off-by: Karen Feng <karen.feng@databricks.com> * More docs Signed-off-by: Karen Feng <karen.feng@databricks.com> * Comments Signed-off-by: Karen Feng <karen.feng@databricks.com> Co-authored-by: Kiavash Kianfar <kiavash.kianfar@databricks.com> Signed-off-by: Henry Davidge <hhd@databricks.com>
* Support numpy literals (projectglow#213) * WIP Signed-off-by: Karen Feng <karen.feng@databricks.com> * Ndarray Signed-off-by: Karen Feng <karen.feng@databricks.com> * More tests Signed-off-by: Karen Feng <karen.feng@databricks.com> * Support flat array Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move registering Signed-off-by: Karen Feng <karen.feng@databricks.com> * pytest Signed-off-by: Karen Feng <karen.feng@databricks.com> * Make docstring more accurate Signed-off-by: Karen Feng <karen.feng@databricks.com> * idempotent registration Signed-off-by: Karen Feng <karen.feng@databricks.com> * Test fixup Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move import out Signed-off-by: Karen Feng <karen.feng@databricks.com> * Add documentation for the GFF3 reader (projectglow#221) * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * notebook Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * attributes Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * yapf Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> Signed-off-by: Karen Feng <karen.feng@databricks.com> * Remove cross-build plugin Signed-off-by: Karen Feng <karen.feng@databricks.com> * wrap Signed-off-by: Karen Feng <karen.feng@databricks.com> * triple quote Signed-off-by: Karen Feng <karen.feng@databricks.com> * set 'for imports' and 'for builds' within sbt settings Signed-off-by: Karen Feng <karen.feng@databricks.com> * CircleCI config Signed-off-by: Karen Feng <karen.feng@databricks.com> * wrap release Signed-off-by: Karen Feng <karen.feng@databricks.com> * new rule Signed-off-by: Henry D <henrydavidge@gmail.com> * Support numpy literals (projectglow#213) * WIP Signed-off-by: Karen Feng <karen.feng@databricks.com> * Ndarray Signed-off-by: Karen Feng <karen.feng@databricks.com> * More tests Signed-off-by: Karen Feng <karen.feng@databricks.com> * Support flat array Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move registering Signed-off-by: Karen Feng <karen.feng@databricks.com> * pytest Signed-off-by: Karen Feng <karen.feng@databricks.com> * Make docstring more accurate Signed-off-by: Karen Feng <karen.feng@databricks.com> * idempotent registration Signed-off-by: Karen Feng <karen.feng@databricks.com> * Test fixup Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move import out Signed-off-by: Karen Feng <karen.feng@databricks.com> * Add documentation for the GFF3 reader (projectglow#221) * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * notebook Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * attributes Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * yapf Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * More docs Signed-off-by: Karen Feng <karen.feng@databricks.com> * add tests Signed-off-by: Henry D <henrydavidge@gmail.com> * style Signed-off-by: Henry D <henrydavidge@gmail.com> * Fix IntelliJ import (projectglow#223) * Support numpy literals (projectglow#213) * WIP Signed-off-by: Karen Feng <karen.feng@databricks.com> * Ndarray Signed-off-by: Karen Feng <karen.feng@databricks.com> * More tests Signed-off-by: Karen Feng <karen.feng@databricks.com> * Support flat array Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move registering Signed-off-by: Karen Feng <karen.feng@databricks.com> * pytest Signed-off-by: Karen Feng <karen.feng@databricks.com> * Make docstring more accurate Signed-off-by: Karen Feng <karen.feng@databricks.com> * idempotent registration Signed-off-by: Karen Feng <karen.feng@databricks.com> * Test fixup Signed-off-by: Karen Feng <karen.feng@databricks.com> * Move import out Signed-off-by: Karen Feng <karen.feng@databricks.com> * Add documentation for the GFF3 reader (projectglow#221) * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * doc Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * notebook Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * attributes Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> * yapf Signed-off-by: kianfar77 <kiavash.kianfar@databricks.com> Signed-off-by: Karen Feng <karen.feng@databricks.com> * Remove cross-build plugin Signed-off-by: Karen Feng <karen.feng@databricks.com> * wrap Signed-off-by: Karen Feng <karen.feng@databricks.com> * triple quote Signed-off-by: Karen Feng <karen.feng@databricks.com> * set 'for imports' and 'for builds' within sbt settings Signed-off-by: Karen Feng <karen.feng@databricks.com> * CircleCI config Signed-off-by: Karen Feng <karen.feng@databricks.com> * wrap release Signed-off-by: Karen Feng <karen.feng@databricks.com> * More docs Signed-off-by: Karen Feng <karen.feng@databricks.com> * Comments Signed-off-by: Karen Feng <karen.feng@databricks.com> Co-authored-by: Kiavash Kianfar <kiavash.kianfar@databricks.com> * comments Signed-off-by: Henry D <henrydavidge@gmail.com> * more docs Signed-off-by: Henry D <henrydavidge@gmail.com> * note pr Signed-off-by: Henry D <henrydavidge@gmail.com> Co-authored-by: Karen Feng <karen.feng@databricks.com> Co-authored-by: Kiavash Kianfar <kiavash.kianfar@databricks.com> Signed-off-by: Henry Davidge <hhd@databricks.com>
What changes are proposed in this pull request?
We use
DenseMatrixin our regression methods, but this is not a commonly used format to store matrix data in Python. This PR introduces support for numpy literals from double-typed numpy ndarrays under the hood with py4j onceglowis imported. Withlit():How is this patch tested?
Python tests.