kko*_*rad 8 apache-spark apache-spark-sql
我在Python中几乎没有非常非常简单的函数,我想在Spark SQL中用作UDF.从Python注册和使用它们似乎很容易.但是我想在使用JavaSQLContext或SQLContext时从Java/Scala中使用它们.我注意到在spark 1.2.1中有函数 registerPython但它既不清楚我是如何使用它,也不是我应该......
关于如何做到这一点的任何想法?我认为它在1.3.0中可能会变得更容易但我只限于1.2.1.
编辑:由于不再在这方面工作,我有兴趣知道如何在任何 Spark版本中执行此操作.
鉴于 Spark UDF 的最新实现(2.3.1 文档)不包含任何 python UDF 注册功能(仅限 scala 和 Java),我建议利用 Jython 来调用您的 Python 函数。
您将能够定义一个 Java 类,其中包含调用 Jython 的方法来运行 Python 函数,然后在 SQL 上下文中将这些 Java 方法注册为 UDF。虽然这比直接将 python 代码注册为 UDF 更为迂回,但它的优点是符合当前模式并具有更易于维护的上下文切换。
| 归档时间: |
|
| 查看次数: |
1147 次 |
| 最近记录: |