【发布时间】:2016-09-28 18:18:23
【问题描述】:
是否可以分解 Spark 数据框列?分解我的意思是创建列中每个唯一值到相同 ID 的映射。
例如,原始数据框:
+----------+----------------+--------------------+
| col1| col2| col3|
+----------+----------------+--------------------+
|1473490929|4060600988513370| A|
|1473492972|4060600988513370| A|
|1473509764|4060600988513370| B|
|1473513432|4060600988513370| C|
|1473513432|4060600988513370| A|
+----------+----------------+--------------------+
分解后的版本:
+----------+----------------+--------------------+
| col1| col2| col3|
+----------+----------------+--------------------+
|1473490929|4060600988513370| 0|
|1473492972|4060600988513370| 0|
|1473509764|4060600988513370| 1|
|1473513432|4060600988513370| 2|
|1473513432|4060600988513370| 0|
+----------+----------------+--------------------+
在 scala 本身中它会相当简单,但由于 Spark 将它的数据帧分布在节点上,我不确定如何保留来自 A->0, B->1, C->2 的映射。
另外,假设数据帧非常大(千兆字节),这意味着将一整列加载到单台机器的内存中可能是不可能的。
可以吗?
【问题讨论】:
标签: scala apache-spark spark-dataframe