这是我的修改后的 建表语句 """ CREATE EXTERNAL TABLE lzwgogogo ( cust_id STRING, fname STRING, lname STRING, email STRING, level STRING, phone MAP<STRING, STRING>, order_ids ARRAY<STRING>, order_value STRUCT< min_value: DOUBLE, max_value: DOUBLE, avg_value: DOUBLE, total_value: DOUBLE > ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' COLLECTION ITEMS TERMINATED BY ',' MAP KEYS TERMINATED BY ':' STORED AS TEXTFILE LOCATION '/dualcore';""" 为什么还是order_value 字段数据为null
时间: 2024-04-08 17:30:16 浏览: 116
非常抱歉,我之前给出的建议有误。根据你提供的建表语句和数据,我注意到你在定义结构类型字段时使用了冒号(:),而实际上在Hive中应该使用等号(=)来定义结构类型字段。
请将建表语句中的结构类型字段定义中的冒号(:)替换为等号(=),并重新运行建表语句。修改后的建表语句如下:
```sql
CREATE EXTERNAL TABLE lzwgogogo (
cust_id STRING,
fname STRING,
lname STRING,
email STRING,
level STRING,
phone MAP<STRING, STRING>,
order_ids ARRAY<STRING>,
order_value STRUCT<
min_value DOUBLE,
max_value DOUBLE,
avg_value DOUBLE,
total_value DOUBLE
>
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
COLLECTION ITEMS TERMINATED BY ','
MAP KEYS TERMINATED BY ':'
STORED AS TEXTFILE
LOCATION '/dualcore';
```
修改后,重新运行建表语句,并加载数据到表中,你应该能正确查询到"order_value"字段的值了。再次对之前的错误给你带来的困扰表示诚挚的歉意。如果还有其他问题,请随时提问。
阅读全文