gpt4 book ai didi

hadoop - Hive:使用具有多个目录的多文件创建表

转载 作者:可可西里 更新时间:2023-11-01 14:10:43 27 4
gpt4 key购买 nike

我想创建一个 Hive 表,其中输入文本文件遍历到 hdfs 中的多个子目录。所以我在 hdfs 中的例子:

    /testdata/user/Jan/part-0001
/testdata/user/Feb/part-0001
/testdata/user/Mar/part-0001
and so on...

如果我想在hive中创建一个表user,但是可以遍历user的子目录,可以吗?我尝试过类似的方法,但不起作用;

CREATE EXTERNAL TABLE users (id int, name string) 
STORED AS TEXTFILE LOCATION '/testdata/user/*'

我认为添加通配符会起作用,但不起作用。当我尝试不使用通配符时仍然不起作用。但是,如果我将文件复制到用户的根目录中,那么它就可以工作。 Hive 没有办法遍历到子目录并获取那些文件吗?

最佳答案

您可以创建一个外部表,然后将子文件夹添加为分区。

CREATE EXTERNAL TABLE test (id BIGINT) PARTITIONED BY ( yymmdd STRING);
ALTER TABLE test ADD PARTITION (yymmdd = '20120921') LOCATION 'loc1';
ALTER TABLE test ADD PARTITION (yymmdd = '20120922') LOCATION 'loc2';

关于hadoop - Hive:使用具有多个目录的多文件创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9039414/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com