尝试解析json并使用python spark将列添加到df
tableDF = spark.sql("select * from transaction")
stats_df =parseJSONCols(tableDF )
def parseJSONCols(df):
res = df
cols = ['State']
for i in cols:
schema = spark.read.json(res.rdd.map(lambda x: x[i])).schema
res = res.withColumn("selectedState", lit(filterSelectedState(col(i))))
return res
State
是一个像这样的json
[
{
isSelected: true,
name: 'x'
},
{
isSelected: false,
name: 'y'
}
]
想要获取选定状态并将其添加到tableDF的选定列中。
有人可以帮忙实现同样的目的吗
答案 0 :(得分:0)
您可能想要类似的东西:
df = df.withColumn('isSelected', f.col('State').getItem('isSelected'))
但是,看到说stats_df.take(2)
的输出将很有用,这样我们就可以看到您正在处理的DF的确切结构。