从其他列在 Apache Spark 中创建映射列

ole*_*ter 3 scala apache-spark spark-dataframe

我搜索了很多,但找不到任何可以适应我的情况的东西。我有一个像这样的数据框:

+-----------------+---------------+
|             keys|         values|
+-----------------+---------------+
|[one, two, three]|[101, 202, 303]|
+-----------------+---------------+
Run Code Online (Sandbox Code Playgroud)

键有一个字符串数组,值有一个整数数组。

我想创建一个包含键到值的映射的新列,如下所示:

+-----------------+---------------+---------------------------+
|             keys|         values|                        map|
+-----------------+---------------+---------------------------+
|[one, two, three]|[101, 202, 303]|Map(one->101, two->202, etc|
+-----------------+---------------+---------------------------+
Run Code Online (Sandbox Code Playgroud)

我一直在看这个问题,但不确定它可以用作我的情况的起点:Spark DataFrame columns transform to Map type and List of Map Type

我需要在 Scala 中使用这个。

谢谢!

Ant*_*gor 6

星火2.4的有一个内置的版本 def map_from_arrays(keys: Column, values: Column): Columnorg.apache.spark.sql.functions