我正在尝试将有序的dict转换为pyspark MapType。
from pyspark.sql.functions import create_map, lit
from pyspark.sql import SparkSession
from collections import OrderedDict
# Sample ordered dictionary
ordered_dict = OrderedDict([('a', 1), ('b', 2), ('c', 3)])
create_map([lit(k) for k in ordered_dict.keys()], [lit(v) for v in ordered_dict.values()])
字符串
给出一个错误:
TypeError: Invalid argument, not a string or column: [Column<'a'>, Column<'b'>, Column<'c'>] of type <class 'list'>. For column literals, use 'lit', 'array', 'struct' or 'create_map' function.
型
Spark 3.2版本,任何解决此问题的建议都将受到高度赞赏。谢谢
2条答案
按热度按时间bsxbgnwa1#
F.create_map
需要一个扁平的键和值序列:字符串
qacovj5a2#
下面有帮助吗?
字符串