我有一个带值的嵌套列:
然而,我期望的结果是删除花括号之前和之后的方括号:
| 司机|期望列|
| --|--|
| [{“driverId”:“2015016200-3edf”,“driverName”:“Dianne Uy”}]|{“driverId”:“2015016200-3edf”,“driverName”:“Dianne Uy”}|
df= (df
.withColumn("drivers", f.from_json("drivers", driver_schema))
.withColumn("expected_column", f.col("drivers").getItem(0))
)
但是,我得到了这个错误AnalysisException:[INVALID_EXTRACT_FIELD_TYPE]字段名称应为非空字符串文字,但它为“0”。
其他方法来实现我的预期列/结果?
1条答案
按热度按时间f45qwnt81#
要解决这个问题,您可以使用PySpark的
get_json_object
函数,它允许您从“drivers”列中提取第一个JSON对象。下面是示例代码片段: