我有一堆镶木地板文件,我正在尝试使用以下查询将它们加载到配置单元中:
CREATE EXTERNAL TABLE `events` (
// ... fields ...
)
PARTITIONED BY (... partition columns ...)
SORED AS PARQUET
LOCATION '/path/to/parquet/files';
它会创建表,但不会在该位置加载数据。查询有问题吗?
您在语句中指定的位置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
创建分区,请参阅此处的手册。