怎么用pyspark取出hive表里的json串中某一个key的值?

  算法/数据结构/数据库 Python sql    浏览次数:345        分享
0

比如一个hive表里有id, field1, field2这些字段,field2是一个很长json串,里面有几十个key,我只需要提取json串中body这个key,用pyspark该如何操作呢?

 

chang   2020-06-21 13:03



   1个回答 
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'))


SofaSofa数据科学社区DS面试题库 DS面经

sasa   2020-06-21 21:01



  相关主题

pyspark里转成整数型报错TypeError: unexpected type:   1回答

pyspark里怎么把类似‘yyyy-mm-dd‘的字符串转成星期几的形式?   1回答

spark里怎么refresh表?   3回答

pyspark里怎么求百分位数?   1回答

spark sql里怎么用case when?   1回答

pyspark dataframe的collect()方法是什么意思?   2回答

pyspark里如何进行SELECT DISTINCT操作?   1回答

如何对pyspark dataframe删除一列   3回答

得到一个pyspark.sql.dataframe中所有列的名称   2回答

pyspark返回每个分组某个值最大的行   1回答

pyspark获取当月的最后一天的日期?   1回答

spark ml和spark mllib区别   5回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!