【问题标题】:Hive static partitions issueHive 静态分区问题
【发布时间】:2015-03-03 02:13:56
【问题描述】:

我有一个 csv 文件,它有 600 条记录,男性和女性各 300 条。

我创建了一个Table_Temp 并在该表中填写所有这些记录。然后,我创建Table_Maingender 作为分区列。

对于 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。我不应该为所有其他值(不在静态分区中)再获得一个文件夹吗?如果不是,那些会发生什么?

【问题讨论】:

  • 你能添加你的 csv 加载吗? (你可以用 ctrl-k 格式化代码)
  • 您能否提供用于创建和加载 csv 到 Table_Temp 的查询,您是否提供了您的字段是如何分隔的?

标签: hadoop hive hiveql


【解决方案1】:

在静态分区中,我们需要在将数据插入分区表时指定 where 条件。(我没有这样做)。

为此我们可以使用不带where条件的动态分区。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-28
    • 2017-07-24
    • 1970-01-01
    • 2022-01-18
    • 2016-12-04
    • 1970-01-01
    • 2017-11-02
    相关资源
    最近更新 更多