我正在尝试使用存储在hdfs中的文件创建配置单元orc表。

我有一个表“partsupp.tbl”文件,其中每行具有以下格式:

 1|25002|8076|993.49|ven ideas. quickly even packages print. pending multipliers must have to are fluff|

我创建一个配置单元表,如下所示:
create table if not exists partsupp (PS_PARTKEY BIGINT,
 PS_SUPPKEY BIGINT,
 PS_AVAILQTY INT,
 PS_SUPPLYCOST DOUBLE,
 PS_COMMENT STRING)
STORED AS ORC TBLPROPERTIES ("orc.compress"="SNAPPY")
;

现在我试图像这样在表的.tbl文件中加载数据:
LOAD DATA  LOCAL INPATH '/tables/partsupp/partsupp.tbl' INTO TABLE partsupp

但我得到这个问题:
No files matching path file:/tables/partsupp/partsupp.tbl

但是文件存在于hdfs中...

最佳答案

LOCAL表示该文件存在于本地文件系统上。如果省略“LOCAL”,则它将在HDFS中查找文件。

因此,在这种情况下,请使用以下查询:

LOAD DATA  INPATH '/tables/partsupp/partsupp.tbl' INTO TABLE partsupp

07-26 00:35