【发布时间】:2017-04-12 19:36:43
【问题描述】:
我试图将RDD 的SparseVector 转换为DataFrame。我在Scala 和Python 中完成了此操作,但从未在Java 中完成此操作,确实可以在here 中找到答案。
我试图找到涵盖该主题的示例,但找不到任何示例。尽管如此,它的工作方式显然与 Scala 相同,但我无法复制它。
【问题讨论】:
我试图将RDD 的SparseVector 转换为DataFrame。我在Scala 和Python 中完成了此操作,但从未在Java 中完成此操作,确实可以在here 中找到答案。
我试图找到涵盖该主题的示例,但找不到任何示例。尽管如此,它的工作方式显然与 Scala 相同,但我无法复制它。
【问题讨论】:
我终于可以做到了。用于转换 SparseVector 的正确架构必须设置为 dataType 和 new VectorUDT,请注意,如果您按照示例进行操作,它们通常会使用 DataTypes。something,所以很艰难。
List<StructField> fields = new ArrayList<>();
StructField field = DataTypes.createStructField("features", new VectorUDT(), true);
fields.add(field);
StructType schema = DataTypes.createStructType(fields);
【讨论】: