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

  算法/数据结构/数据库 Python sql    浏览次数:113        分享
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里怎么求百分位数?   1回答

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

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

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

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

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

pyspark里怎么把一列日期转成是全年的第几周?   2回答

spark里怎么refresh表?   3回答

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

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

pyspark里怎么查看一个dataframe的schema?   1回答

spark ml和spark mllib区别   5回答



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

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

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

我们谢绝答非所问。

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

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