我按照以下方式创建了一个表
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
之后也没有使它从子目录递归加载数据。我错过了什么吗?