无法将数据从多级目录加载到配置单元表中

w8biq8rn  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(202)

我用下面的方法创建了一个表

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 无法从子目录递归加载数据。我遗漏了什么吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题