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

  算法/数据结构/数据库 Spark Hive    浏览次数:2760        分享
0

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

 

chang   2020-06-21 13:03



   1个回答 
2

用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



  相关讨论

hive和spark sql的区别是什么?

pyspark里怎么求百分位数?

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

怎么在pyspark中查看一个表格的partition?

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

pyspark的dataframe里怎么count每一列的null的数量?

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

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

hive里的LEFT SEMI JOIN是什么JOIN?

怎么对pyspark的dataframe进行随机抽样?

  随便看看

激活函数RELU在0点的导数是多少?

自助法(bootstrap)的0.632是怎么来的?

分类变量,进行One hot编码,维度升高,如何处理?

用户人群分层分析的RFM模型是什么?

xgboost怎么调参?