无法将多级目录中的数据加载到Hive表中

时间:2018-01-16 09:46:30

标签: hadoop hive mapreduce hdfs

我按照以下方式创建了一个表

CREATE TABLE `default.tmptbl` (id int, name string) ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.OpenCSVSerde' WITH SERDEPROPERTIES (
'escapeChar'='\\','quoteChar'='\"','separatorChar'=',');

我在HDFS中拥有以下列方式构建的数据:

/app/tmptbl/
           /DIR1
                /file1.csv
                /file2.csv
           /DIR2
                /file3.csv
                /file4.csv

我尝试使用以下命令加载数据:

SET mapred.input.dir.recursive=true;
SET hive.mapred.supports.subdirectories=true;
LOAD DATA INPATH '/app/tmptbl/' INTO TABLE `default.tmptbl`;

但是我收到以下错误:

FAILED: SemanticException Line 1:17 Invalid path ''/app/tmptbl/'': source contains directory: /app/tmptbl/dir1

我不知道为什么即使在设置mapred.input.dir.recursive=true; hive.mapred.supports.subdirectories=true之后也没有使它从子目录递归加载数据。我错过了什么吗?

0 个答案:

没有答案