我在配置单元表中存储了一些数据,其字段为 - 日期、平均温度、经度、纬度、城市和国家/地区。
我想根据城市和国家/地区对数据进行分区,以便城市分区存在于国家/地区分区内。例如,如果我有下面给出的数据,
然后,创建分区并将数据移动到分区后,数据应以以下形式存储 -
Table Name
|
-- Country-J
| |
| -- City-A
| -- City-B
|
-- Country-K
|
-- City-A
-- City-B
我知道创建单个分区,但不知道嵌套分区。我尝试在网上查找,但到目前为止还没有任何解决方案。任何帮助都感激不尽。谢谢!
您可以通过对多个列进行分区来做到这一点。像这样创建你的表格 -
CREATE TABLE mytable(
ID BIGINT,
NAME STRING
)
COMMENT 'Multi level partitioned table'
PARTITIONED BY(Country STRING, City STRING)
这将创建一个分区结构(物理文件夹),就像您在问题中提到的那样。
|
-- Folder_Country-J
| |
| -- Folder_City-A
- files for Country-J and City-A
| -- Folder_City-B
- files for Country-J and City-B
|
-- Folder_Country-K
|
-- Folder_City-A
- files for Country-K and City-A
-- Folder_City-B
- files for Country-K and City-B