apache-spark - 将 spark 数据框中的两列转换为 Map 类型?

标签 apache-spark apache-spark-sql

例如,我有两列

 Code   Department
    E.          ECE
    C.          CSE

我想将其转换为如下 map 类型
Map( E -> ECE, C -> CSE) 

注意 - 当前使用带有 Scala 的 spark 2.2。

最佳答案

鉴于输入数据框和模式如下

+----+----------+
|Code|Department|
+----+----------+
|E.  |ECE       |
|C.  |CSE       |
+----+----------+

root
 |-- Code: string (nullable = true)
 |-- Department: string (nullable = true)

您可以转换为 rdd 并将每一行转换为 Map 内部 map 函数,最后收集为 Map
df.rdd.map(row => (row.getString(0) -> row.getString(1))).collectAsMap()

这是您想要的输出
Map(E. -> ECE, C. -> CSE)

关于apache-spark - 将 spark 数据框中的两列转换为 Map 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50681644/

相关文章:

sql - Apache Spark SQL 是否支持 MERGE 子句?

python - Impala 查询在 Pyspark 中返回错误结果

apache-spark - 如何在没有数据框的情况下在spark中执行列表达式

hadoop - Hadoop批处理分析和hadoop实时分析有什么区别

apache-spark - Spark 调用 ShuffleBlockFetcherIterator 时发生了什么?

azure - pyspark从所有列的数据中删除控制字符的最佳方法

scala - Spark : write Paquet from heterogeneous data

apache-spark - PySpark:我需要重新缓存 DataFrame 吗?

mysql - 将 java 类添加到 sbt 程序集

apache-spark - Azure HDInsight 的 SparkRunner 上的 Apache Beam 管道