Spark SQL中使用from_json将JSON字符串转Struct遇语法错误求助
解决from_json语法错误并生成目标数组结构
你的SQL语法错误出在STRUCT类型的定义上,Spark SQL中STRUCT字段的格式要求是字段名 数据类型,而非用冒号分隔。
正确的SQL语句
SELECT from_json('[{"S": "Value1"},{"S": "Value2"}]', 'ARRAY<STRUCT<S STRING>>') as column_name
验证结果结构
执行后会生成你需要的数组结构:
|-- column_name: array (nullable = true) | |-- element: struct (containsNull = true) | | |-- S: string (nullable = true)
如果你的字符串是来自表中的字段而非字面量,只需将字面量替换为字段名即可,比如:
SELECT from_json(your_string_column, 'ARRAY<STRUCT<S STRING>>') as column_name FROM your_table
内容的提问来源于stack exchange,提问作者avi
相关产品推荐
相关产品推荐

