我必须hive
用一个列对表进行分区,该列也是表的一部分。
例如:
表:员工
列: employeeId、employeeName、employeeSalary
我必须使用 employeeSalary 对表进行分区。所以我写了以下查询:
CREATE TABLE employee (employeeId INT, employeeName STRING, employeeSalary INT) PARTITIONED BY (ds INT);
我只是在这里使用了名称“ds”,因为它不允许我使用相同的名称employeeSalary
。
我在做什么是对的吗?此外,在将值插入表中时,我必须使用逗号分隔的文件。现在该文件由如下行组成:2019,John,2000
作为一排。如果我必须使用薪水进行分区,我的第一个分区将是薪水 2000 的所有人。所以查询将是
LOAD DATA LOCAL INPATH './examples/files/kv2.txt' OVERWRITE INTO TABLE employee PARTITION (ds=2000);
在 100 个工资为 2000 的条目之后,我有下一个 500 个工资为 4000 的条目。所以我将再次触发查询:
LOAD DATA LOCAL INPATH './examples/files/kv2.txt' OVERWRITE INTO TABLE employee PARTITION (ds=4000);
如果我是对的,请告诉我...