如何在 Java 中从 SparseVectors 的 RDD 创建 DataFrame

Posted

技术标签:

【中文标题】如何在 Java 中从 SparseVectors 的 RDD 创建 DataFrame【英文标题】:How to create a DataFrame from RDD of SparseVectors in Java 【发布时间】:2017-04-12 19:36:43 【问题描述】:

我试图将RDDSparseVector 转换为DataFrame。我在ScalaPython 中完成了此操作,但从未在Java 中完成此操作,确实可以在here 中找到答案。

我试图找到涵盖该主题的示例,但找不到任何示例。尽管如此,它的工作方式显然与 Scala 相同,但我无法复制它。

【问题讨论】:

【参考方案1】:

我终于可以做到了。用于转换 SparseVector 的正确架构必须设置为 dataTypenew VectorUDT,请注意,如果您按照示例进行操作,它们通常会使用 DataTypessomething,所以很艰难。

List<StructField> fields = new ArrayList<>();
StructField field = DataTypes.createStructField("features", new VectorUDT(), true);

fields.add(field);

StructType schema = DataTypes.createStructType(fields);

【讨论】:

以上是关于如何在 Java 中从 SparseVectors 的 RDD 创建 DataFrame的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中从 ArrayList 中切出 ArrayList?

如何在java中从时区获取日期[重复]

如何在 Android Studios 中从 java 类到 kotlin 类

如何在 AWS 中从 Java 生成签名

如何在 Java 中从 String 创建 XML 对象?

如何在 Android 中从 Java 代码执行 Python 脚本