Hive静态分区问题
Hive static partitions issue
我有一个 csv 文件,其中有 600 条记录,男性和女性各 300 条记录。
我创建了一个 Table_Temp
并在 table 中填写了所有这些记录。然后,我创建 Table_Main
并使用 gender
作为分区列。
对于Temp_Table查询是:
Create table if not exists Temp_Table
(id string, age int, gender string, city string, pin string)
row format delimited
fields terminated by ',';
然后我写下面的查询:
Insert into Table_Main
partitioned (gender)
select a,b,c,d,gender from Table)Temp
问题:我正在 /user/hive/warehouse/mydb.db/Table_Main/gender=Male/000000_0
中获取文件
在这个文件中,我总共得到 600 条记录。我不确定发生了什么,但我期望的是我应该在此文件中获得 300 条记录(仅限男性)。
问:1。我哪里弄错了?
问:2。我不应该为所有其他值(不在静态分区中)再获取一个文件夹吗?如果不是,那些会怎样?
在静态分区中,我们需要在向分区table插入数据时指定一个where条件。(我没有这样做)。
为此我们可以使用不带where条件的动态分区。
我有一个 csv 文件,其中有 600 条记录,男性和女性各 300 条记录。
我创建了一个 Table_Temp
并在 table 中填写了所有这些记录。然后,我创建 Table_Main
并使用 gender
作为分区列。
对于Temp_Table查询是:
Create table if not exists Temp_Table
(id string, age int, gender string, city string, pin string)
row format delimited
fields terminated by ',';
然后我写下面的查询:
Insert into Table_Main
partitioned (gender)
select a,b,c,d,gender from Table)Temp
问题:我正在 /user/hive/warehouse/mydb.db/Table_Main/gender=Male/000000_0
在这个文件中,我总共得到 600 条记录。我不确定发生了什么,但我期望的是我应该在此文件中获得 300 条记录(仅限男性)。
问:1。我哪里弄错了?
问:2。我不应该为所有其他值(不在静态分区中)再获取一个文件夹吗?如果不是,那些会怎样?
在静态分区中,我们需要在向分区table插入数据时指定一个where条件。(我没有这样做)。
为此我们可以使用不带where条件的动态分区。