如何在Spark数据集中的字符串数组列中添加字符串

妈妈:

我有一个“数据集(行)”如下

+-----+--------------+
|val  |  history     |
+-----+--------------+
|500  |[a=456, a=500]|
|800  |[a=456, a=500]|
|784  |[a=456, a=500]|
+-----+--------------+

此处val是“字符串”,历史记录是“字符串数组”。我正在尝试将val列中的内容添加到history列中,以便我的数据集如下所示:

+-----+---------------------+
|val  |  history            |
+-----+---------------------+
|500  |[a=456, b=500, c=500]|
|800  |[a=456, b=500, c=800]|
|784  |[a=456, b=500, c=784]|
+-----+---------------------+

这里讨论了一个类似的问题https://stackoverflow.com/a/49685271/2316771,但是我不知道scala并且无法创建类似的java解决方案。

请帮我用Java实现

是:

在Spark 2.4中(不是之前),您可以使用concat函数合并两个数组。就您而言,您可以执行以下操作:

df.withColumn("val2", concat(lit("c="), col("val")))
  .select(concat(col("history"), array(col("val2")));

注意:我第一次使用concatconcat字符串,第二次使用concat数组。array(col("val2"))创建一个元素数组。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在字符串列表的字符串数组中添加字符串数组?

如果字符串在大写和小写中包含相同的字符,如何在哈希集中添加字符串值?

如何在 Spark Dataframe 上的字符串中添加一列字符的索引?

如何在字符串数组中添加空括号

如何在Spark中将数据框的列类型从字符串转换为(数组和结构)

如何在列行中添加新字符串

如何在数据框列中删除字符串的子字符串?

如何在数据框中添加基于数据长度的值作为字符串的列

如何在字符串数组中制作字符数组?

如何在熊猫数据框列系列的每个偶数行中添加字符串?

如何在MySQL的列中添加数据但已经设置了一些字符串?

如何在 Python 数据框中添加具有字典字符串值的列

如何在字符串类型的数据库列中插入数组?

如何在R中的字符串中添加字符

如何在特殊字符前的字符串中添加\

如何在Java字符串中添加转义字符?

如何在C中字符串的开头添加字符?

如何在Spark中将字符串解析为数组?

如何在C ++中获取子字符串并在字符串之间添加字符

如何从火花数据框中的字符串数组列创建新的子字符串数组

如何在C中将字符串添加到字符串数组

如何在 Julia 的字符串数组中查找子字符串或字符

如何从字符串数组中删除字符串?

如果字符串存在,如何根据字符串数组在字符串中添加空格

如何在新列的数据帧的每一行中添加字符串和特殊字符?

如何在字符串中搜索字符串?

如何在javascript中的数组数组中添加字符串

如何在文档数组中搜索字符串数组

Pyspark替换Spark数据框列中的字符串