尝试使用 Apache spark Java API 透视表
Posted
技术标签:
【中文标题】尝试使用 Apache spark Java API 透视表【英文标题】:Trying to pivot a table using Apache spark Java API 【发布时间】:2015-08-06 12:32:59 【问题描述】:我在 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
..谢谢,提前
【问题讨论】:
我认为你需要重新格式化你的示例数据 【参考方案1】:您可以使用 mllib 稀疏和密集向量: https://spark.apache.org/docs/latest/mllib-data-types.html
您可以使用 RDD.zipWithUniqueId 创建一个用于名称的查找表和另一个用于城市的查找表,这会将 Long 转换为双精度,并使用双精度输入密集向量。 希望对您有所帮助。
【讨论】:
【参考方案2】:Df.groupby(col("id")).pivot("city")
【讨论】:
以上是关于尝试使用 Apache spark Java API 透视表的主要内容,如果未能解决你的问题,请参考以下文章
org.apache.spark.SparkException:任务不可序列化,wh
从 apache Spark 运行 java 程序时出现 ClassNotFound 异常