【问题标题】:Does Spark SQL 2.3+ support UDT?Spark SQL 2.3+ 是否支持 UDT?
【发布时间】:2018-11-27 14:32:13
【问题描述】:

我正在查看this ticket,不明白 Spark 是否支持任何语言(Scala、Python、Java、R)的 2.3+ 版本的 UDT?

我有这样的课

Class Test{        
    string name;
    int age;
}

而我的 UDF 方法是:

public Test UDFMethod(string name, int age){           
       Test ob = new Test();
       ob.name = name;           
       ob.age = age; 
}

Spark 查询示例

Select *, UDFMethod(name, age) From SomeTable;

现在UDFMethod(name, age) 将返回测试对象。那么在使用SQLUserDefinedType 标记并扩展UserDefinedType 类之后,这将在Spark SQL 中工作吗?

UserDefinedType 类在 Spark 2.0 中被设为私有。我只想知道 Spark 2.3+ 是否支持 UDT。如果是,最好使用UserDefinedTypeUDTRegisteration。到目前为止,两者都是 spark 私有的。

【问题讨论】:

    标签: apache-spark apache-spark-sql


    【解决方案1】:

    如您所见,您链接的 JIRA 票证至少已延迟到 Spark 3.0。所以这意味着目前没有这样的选项供公众使用。

    总是可以绕过访问限制(通过反射,通过将您自己的代码放在 Spark 命名空间中),但绝对不支持它,并且您不应该期待帮助,如果它在未来失败或中断。

    【讨论】:

      猜你喜欢
      • 2014-09-01
      • 2014-04-26
      • 2017-03-05
      • 1970-01-01
      • 2016-04-17
      • 1970-01-01
      • 1970-01-01
      • 2012-02-18
      • 2012-03-09
      相关资源
      最近更新 更多