本文介绍了如何将Map列添加到Spark数据集?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Java Map 变量,例如 Map< String,String>singleColMap .我想将此 Map 变量添加到数据集中,作为Spark 2.2(Java 1.8)中的新列值.

I have a Java Map variable, say Map<String, String> singleColMap. I want to add this Map variable to a dataset as a new column value in Spark 2.2 (Java 1.8).

我尝试了以下代码,但无法正常工作:

I tried the below code but it is not working:

ds.withColumn("cMap", lit(singleColMap).cast(MapType(StringType, StringType)))

有人可以帮忙吗?

推荐答案

您可以使用,来自文档:

You can use typedLit that was introducted in Spark 2.2.0, from the documentation:

因此,在这种情况下,以下内容就足够了

So in this case, the following should be enough

ds.withColumn("cMap", typedLit(singleColMap))

这篇关于如何将Map列添加到Spark数据集?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-01 04:57