1

我有一堆镶木地板文件,我正在尝试使用以下查询将它们加载到配置单元中:

CREATE EXTERNAL TABLE `events` (
    // ... fields ...
)
PARTITIONED BY (... partition columns ...)
SORED AS PARQUET
LOCATION '/path/to/parquet/files';

它会创建表,但不会在该位置加载数据。查询有问题吗?

4

1 回答 1

0

您在语句中指定的位置CREATE TABLE应该是 HDFS 位置。CREATE TABLE不加载文件。

使用请参阅此处LOAD DATA LOCAL INPATH './local/file/path' OVERWRITE INTO TABLE invites PARTITION (key='value');的手册。

或者,您可以使用命令将 HDFS 中的文件放入具有分区子目录的位置hadoop fs -copyFromLocal /path/in/linux /hdfs/path,然后创建表并用于MSCK REPAIR TABLE创建分区,请参阅此处的手册。

于 2018-10-03T19:25:20.797 回答