JSON格式如下:
{
"name": "aaa",
"address": {
"street": "blv abc",
"street_num": "122"
}
}
我会从实木复合地板文件中读取数据,并对它们执行sql查询,就像找到所有居住在街道
blv abc
上的人一样。但我只想将name
和address.street
输出为:{
"name": "aaa",
"address": {
"street": "blv abc"
}
}
如何仅输出
name
和address.street
?DataFrameReader模式可能不适用于我,因为我需要在输出之前执行一些SQL查询,这可能需要在
street_num
上进行过滤。 最佳答案
对于这种异常数据转换,我的最后一招是
from pyspark.sql.types import Row
def transform(row):
d = row.asDict() # now in python data types
del d['address']['street_num']
return Row(**d)
new = dataframe.rdd.map(transform)
我想您想删除很多字段以使记录保持苗条,否则确实不值得。
关于python - PySpark-如何输出带有特定字段的JSON?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39386832/