五、操作题 1.在数据库hive_database中创建外部表external_test,外部表external_test的结构要求如下。 (1)要求数据文件存储位置为/test/hive/external_test。 (2)外部表external_test包含5列,这5列的数据类型分别是STRING、INT、FLOAT、ARRAY和MAP,并自定义列名。 (3)指定数据类型为ARRAY的列中元素的数据类型为STRING。 (4)指定数据类型为MAP的列中每个键值对KEY:VALUE的数据类型为STRING:INT。
时间: 2024-03-06 08:49:58 浏览: 223
在Hive中,可以使用以下语句创建外部表external_test,满足上述要求:
```
CREATE EXTERNAL TABLE external_test (
col_string STRING,
col_int INT,
col_float FLOAT,
col_array ARRAY<STRING>,
col_map MAP<STRING, INT>
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
COLLECTION ITEMS TERMINATED BY ','
MAP KEYS TERMINATED BY ':'
LOCATION '/test/hive/external_test';
```
解释一下上述语句的含义:
- CREATE EXTERNAL TABLE:创建外部表
- external_test:表名
- col_string、col_int、col_float、col_array、col_map:自定义的列名
- STRING、INT、FLOAT、ARRAY<STRING>、MAP<STRING, INT>:各列的数据类型
- ROW FORMAT DELIMITED:指定行的格式
- FIELDS TERMINATED BY '\t':指定列与列之间的分隔符为制表符
- COLLECTION ITEMS TERMINATED BY ',':指定数组中元素之间的分隔符为逗号
- MAP KEYS TERMINATED BY ':':指定Map中键值对之间的分隔符为冒号
- LOCATION '/test/hive/external_test':指定数据文件存储的位置
注意,外部表只是一个指向数据文件的指针,数据文件并不被Hive所拥有,因此在创建外部表时需要指定数据文件的位置。同时,需要注意数据文件的格式与表结构的对应关系。
阅读全文