繁体   English   中英

创建HIVE分区表HDFS位置帮助

[英]Create HIVE partitioned table HDFS location assistance

当然希望有人可以通过自动添加基于驻留在HDFS目录中的逗号分隔文件的数据来帮助我创建外部HIVE分区表。 我的理解或缺乏理解是,当您定义CREATE EXTERNAL TABLE,PARTITIONED并为其提供LOCATION时,它应递归扫描/读取每个子目录,并将数据加载到新创建的分区外部表中。 以下内容应该为我的麻烦提供一些额外的见解......

Sample HDFS directory structure:<br>
/data/output/dt=2014-01-01<br>
/data/output/dt=2014-01-02<br>
/data/output/dt=2014-01-03   ...<br>
/data/output/dt=2014-05-21<br>

每个'dt ='子目录都包含分隔文件。

以下是我的CREATE EXTERNAL TABLE语法的示例:

    CREATE EXTERNAL TABLE master_test (UID string,
    lname string,
    fname string,
    addr string,
    city string,
    state string,
    orderdate string,
    shipdate string)

    PARTITIONED BY (dt STRING)
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ','
    STORED AS TEXTFILE
    LOCATION '/data/output/';

在创建master_test外部表后,我原本认为我的所有分隔文件都已包含在CREATE中的表中。 我将数据导入新定义的外部表的唯一方法是通过ALTER TABLE ADD PARTITION语句,例如:ALTER TABLE master_test ADD PARTITION(dt ='2014-04-16')。 或者,如果我明确定义分隔文件的位置,它将添加定义表的单个文件。

非常感谢任何建议或指导。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM