比如一个hive表里有id, field1, field2这些字段,field2是一个很长json串,里面有几十个key,我只需要提取json串中body这个key,用pyspark该如何操作呢?
1个回答
用json_tuple提取,格式为json_tuple(json_field, key)
按照你的字段名字,可以写成下面这样
from pyspark.sql.functions import json_tuple, col
data = spark.table('my_table').withColumn('body_text', json_tuple(col('field2'), 'body'))
相关主题
pyspark里怎么把类似‘yyyy-mm-dd‘的字符串转成星期几的形式?
1回答
pyspark里转成整数型报错TypeError: unexpected type:
pyspark里怎么求百分位数?
1回答
怎么在pyspark中查看一个表格的partition?
1回答
怎么对pyspark.sql.dataframe按照某一列降序排列?
1回答
我们谢绝在回答前讲“生动”的故事。
我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。
我们谢绝答非所问。
我们谢绝自己不会、硬要回答。
我们感激每一个用户在编写答案时的努力与付出!