java - 尝试使用 Apache Spark Java API 透视表

标签 java apache-spark apache-spark-sql rdd

我有一个 csv 文件中的数据集,谁能告诉我如何使用 Apache Spark java 程序在特定列上旋转数据集。

示例数据:

id | name | city
1    john   Newyork
2    smith  LA
3    mike   Boston

我正在尝试在城市列上进行旋转

结果应该是:

id | name | Newyork | LA | Boston
1   john      1        0     0
2   smith     0        1     0
3   mike      0        0     1

..提前致谢

最佳答案

您可以使用 mllib 稀疏 vector 和密集 vector : https://spark.apache.org/docs/latest/mllib-data-types.html

您可以使用 RDD.zipWithUniqueId 创建一个查找表,一个用于名称,另一个用于城市,这会将 Long 值转换为 double ,并使用 double 输入密集 vector 。 希望有帮助。

关于java - 尝试使用 Apache Spark Java API 透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31855884/

相关文章:

java - 遇到无法在 pyspark 上运行程序的错误

apache-spark - PySpark 将 ArrayType(ArrayType(NoneType)) 转换为 ArrayType(ArrayType(IntegerType))

python - Databricks上的PySpark在绝对URI中获取相对路径:当尝试使用DateStamps读取Json文件时

scala - Spark unionAll 多个数据帧

java - Apache Poi - 如何从 Word 文档中删除所有链接

java - IBM MF8 适配器混搭 - POST 请求

java - 我怎样才能正确使用 processbuilder 和 shp2pgsql

apache-spark - Spark SQL 中的分组依据和排序依据

sql - Spark SQL 超时

java - 无法为连接 URL '' Oracle 创建类 'null' 的 JDBC 驱动程序