如何在 Java/Scala 的 SparkSQL 中将 Python 函数注册为 UDF? [英] How to register Python function as UDF in SparkSQL in Java/Scala?

查看:37
本文介绍了如何在 Java/Scala 的 SparkSQL 中将 Python 函数注册为 UDF?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在 Spark SQL 中用作 UDF 的 Python 中很少有非常非常简单的函数.从 Python 注册和使用它们似乎很容易.但是我想在使用 JavaSQLContext 或 SQLContext 时从 Java/Scala 使用它们.我注意到在 spark 1.2.1 中有函数 registerPython 但我不清楚如何使用它,也不清楚我是否应该......

I have few very, very simple functions in Python that I would like to use as UDFs in Spark SQL. It seems easy to register and use them from Python. But I would like to use them from Java/Scala when using JavaSQLContext or SQLContext. I noted that in spark 1.2.1 there is function registerPython but it is neither clear to me how to use it nor whether I should ...

关于如何做到这一点的任何想法?我认为在 1.3.0 中它可能会变得更容易,但我仅限于 1.2.1.

Any ideas on how to to do this? I think that it might got easier in 1.3.0 but I'm limited to 1.2.1.

由于不再从事此工作,我很想知道如何在任何 Spark 版本中执行此操作.

As no longer working on this, I'm interest in knowing how to do this in any Spark version.

推荐答案

from pyspark.sql import *
from pyspark.sql.types import *
from pyspark.sql import SQLContext

def dummy_function(parameter_key):
    return "abc"

sqlContext.udf.register("dummy_function", dummy_function)

这是我们如何定义一个函数并注册以在任何 spark-sql 查询中使用

This is how we can define a function and register to use in any spark-sql query

这篇关于如何在 Java/Scala 的 SparkSQL 中将 Python 函数注册为 UDF?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆