【发布时间】:2018-02-28 20:23:21
【问题描述】:
我无法弄清楚,编码器从 RDD 下面创建数据集的正确实现?
例如
JavaRDD<Integer[]>rdd= sparkContext.parallelize(
Arrays.asList(new Integer[][]{new Integer[]{1,2},
new Integer[]{3,4}
,new Integer[]{6,7}}));
以下实现失败-
DataSet<Integer> ds = sqlContext.createDataset(rdd.rdd(),Encoders.bean(Integer[].class));
线程“主”java.lang.AssertionError 中的异常:断言失败 在 scala.Predef$.assert(Predef.scala:165) 在 org.apache.spark.sql.catalyst.encoders.ExpressionEncoder$.javaBean(ExpressionEncoder.scala:90) 在 org.apache.spark.sql.Encoders$.bean(Encoders.scala:142) 在 org.apache.spark.sql.Encoders.bean(Encoders.scala)
如何为数组类型创建编码?谢谢!
【问题讨论】:
标签: java apache-spark apache-spark-sql