当前位置: 首页 > 知识库问答 >
问题:

Spark将数据帧列值读取为字符串[重复]

耿俊彦
2023-03-14

我有火花2.2中的数据框,我想读取一个列值作为字符串。

val df1 = df.withColumn("col1" ,
      when( col("col1").isNull , col("col2") +"some_string" )

当col1为空时,我想在col2中获取字符串值,并在那里追加我的逻辑

问题是我总是得到col2(col2)作为org.apache.spark.sql.列。我如何将此值转换为String以追加我的自定义字符串?

共有2个答案

邢飞昂
2023-03-14

您可以使用lit函数将字符串值更改为,并使用concat函数。

val df1 = df.withColumn("col1" ,
      when( col("col1").isNull , concat(col("col2"), lit("some_string")))

希望这有帮助!)

钱选
2023-03-14

litconcat会起到作用。您可以使用lit函数给出和字符串值,并使用concat函数将其连接到列的字符串值。

import org.apache.spark.sql.functions._

df.withColumn("col1", when(col("col1").isNull,
  concat(col("col2"), lit("some_string"))))
 类似资料:
  • 我在spark dataframe中有一个包含文本的列。 我想提取所有以特殊字符开头的单词,我正在使用从该文本列的每一行中提取。如果文本包含以开头的多个单词,则只返回第一个单词。 我正在寻找提取多个符合我在火花模式的单词。 样本输入:< code>@always_nidhi @YouTube不,我不明白,但我喜欢他们的音乐和舞蹈真棒这首mve的所有歌曲都很摇滚 示例输出:

  • 我正在Spark 3.0.0上执行Spark结构流的示例,为此,我使用了twitter数据。我在Kafka中推送了twitter数据,单个记录如下所示 2020-07-21 10:48:19|1265200268284588034|RT@narendramodi:与@IBM首席执行官@ArvindKrishna先生进行了广泛的互动。我们讨论了几个与技术相关的主题,…|印度海得拉巴 在这里,每个字段

  • 问题内容: 我想将下面的字符串变量转换为spark上的dataframe。 我知道如何从json文件创建数据帧。 但是我不知道如何从字符串变量创建数据框。 如何将json字符串变量转换为dataframe。 问题答案: 对于Spark 2.2+: 对于Spark 2.1.x: 提示:这是使用重载。它也可以直接读取Json文件。 对于旧版本:

  • 问题内容: 如何将已作为字符串读取的列转换为数组列?即从下面的模式转换 至: 如果可能,请同时共享scala和python实现。在相关说明中,从文件本身读取时如何处理它?我有约450列的数据,我想以这种格式指定的列很少。目前,我正在pyspark中阅读以下内容: 谢谢。 问题答案: 有各种各样的方法, 最好的方法是使用函数并强制转换为 您也可以创建简单的udf来转换值 希望这可以帮助!

  • 问题内容: 我正在使用Apache POI读取Excel文件。在阅读时,我注意到它将字符串作为浮点值。 如果我的单元格包含1,则它将获取为1.0 我从以前的问题中得到了一些提示,并修改了代码,但float表示仍然保持原样。 如何正确读取字符串和日期的数据? 问题答案: 对评论发表评论 问题是电话 这样做是在要求POI尝试将单元格从当前单元格(例如数字)转换为字符串。尝试执行此转换非常简单,这就是为

  • 我有一个带字符串类型列的数据帧,这个字符串是JSON格式,我想根据这个JSON格式将这个列转换为多个列。如果我有JSON模式,我可以这样做,但是我没有。 例子: 原始数据帧: 转换/解析后 我正在使用ApacheSpark 2.1.1。