如何从pyspark数据帧中的json_like列中提取信息?

时间:2018-04-18 14:54:11

标签: apache-spark pyspark spark-dataframe pyspark-sql

我正在使用 pyspark数据框进行分析。

有一列叫做json_data。它看起来像这样:

enter image description here

然后我尝试使用以下代码将其转换为字典类型格式:

from pyspark.sql.functions import udf
func = udf(lambda x: eval(x))
df_beer = df_beer.withColumn('json_data_new', func(df_beer.json_data))

转换后,新列'json_data_new'看起来像这样

enter image description here

然后我检查了旧列和新列的数据类型,它们都是字符串类型。 enter image description here

问题:如何提取与关键字"2_QTDE"关联的数字并将其另存为新列?

我知道这是一个类似json的字符串,我很难处理这种格式。

我尝试使用字典键的python方式,但它不起作用。

所以,我想也许我需要编写一个函数来从json_data_new中提取数字:

df_beer = df_beef.WithColumn('newColumn', func_extract(df_beer.json_data_new))

如何正确定义函数func_extract?谢谢!

0 个答案:

没有答案