我必须hive用一个列分隔表,这也是表的一部分.
例如:
表:员工
列: employeeId,employeeName,employeeSalary
我必须使用employeeSalary对表进行分区.所以我写下面的查询:
CREATE TABLE employee (employeeId INT, employeeName STRING, employeeSalary INT) PARTITIONED BY (ds INT);
Run Code Online (Sandbox Code Playgroud)
我刚刚在这里使用了名称"ds",因为它不允许我使用相同的名称employeeSalary.
这是正确的我在做什么?同时在表中插入值时,我必须使用逗号分隔文件.现在该文件包含如下行:2019,John,2000
作为一排.如果我必须使用薪水进行分区,我的第一个分区将是所有人的工资2000.所以查询将是
LOAD DATA LOCAL INPATH './examples/files/kv2.txt' OVERWRITE INTO TABLE employee PARTITION (ds=2000);
Run Code Online (Sandbox Code Playgroud)
在薪水为2000的100个条目之后,我接下来有500个条目,工资为4000.所以我会再次触发查询:
LOAD DATA LOCAL INPATH './examples/files/kv2.txt' OVERWRITE INTO TABLE employee PARTITION (ds=4000);
Run Code Online (Sandbox Code Playgroud)
请让我知道我是否正确......
hive ×1