我用下面的方法创建了一个表
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
无法从子目录递归加载数据。我遗漏了什么吗?
暂无答案!
目前还没有任何答案,快来回答吧!