Apache spark Spark SQL 2.3+是否支持UDT?

Apache spark Spark SQL 2.3+是否支持UDT?,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我正在经历,不明白Spark是否支持任何语言Scala、Python、Java、R的2.3+版本的UDT 我有这样的课 类测试{ 字符串名; 智力年龄; } 我的UDF方法是: 公共测试UDFMethodstring名称,整数{ 试验ob=新试验; ob.name=名称; ob.age=年龄; } 示例Spark查询 从SomeTable中选择*,UDFMethodname,age; 现在UDFMethodname,age将返回测试对象。那么,在使用SQLUserDefinedType标记并扩展

我正在经历,不明白Spark是否支持任何语言Scala、Python、Java、R的2.3+版本的UDT

我有这样的课

类测试{ 字符串名; 智力年龄; } 我的UDF方法是:

公共测试UDFMethodstring名称,整数{ 试验ob=新试验; ob.name=名称; ob.age=年龄; } 示例Spark查询

从SomeTable中选择*,UDFMethodname,age; 现在UDFMethodname,age将返回测试对象。那么,在使用SQLUserDefinedType标记并扩展UserDefinedType类之后,这在Spark SQL中会起作用吗


在Spark 2.0中,用户定义的类型类是私有的。我只是想知道Spark 2.3+是否支持UDT。如果是,最好使用UserDefinedType或UDTRegisteration。到目前为止,这两家公司都是spark的私有公司。

您可以检查,您链接的JIRA票证已延迟到至少spark 3.0。因此,这意味着目前还没有这种供公众使用的方案


通过将您自己的代码放在Spark命名空间中,总是可以通过反射绕过访问限制,但它肯定不受支持,而且如果将来出现故障或中断,您也不应该期望得到帮助。

您可以检查,您链接的JIRA票证至少已延迟到Spark 3.0。因此,这意味着目前还没有这种供公众使用的方案

通过反射,通过将您自己的代码放入Spark命名空间,总是可以绕过访问限制的,但它肯定不受支持,而且如果将来出现故障或中断,您也不应该期望得到帮助