我有一堆Parquet文件,我正试图用以下查询将它们加载到hive中:
CREATE EXTERNAL TABLE `events` ( // ... fields ... ) PARTITIONED BY (... partition columns ...) SORED AS PARQUET LOCATION '/path/to/parquet/files';
它创建表,但不加载该位置的数据。查询有问题吗?
jk9hmnmh1#
在中指定的位置 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 要创建分区,请参阅此处的手册。
CREATE TABLE
LOAD DATA LOCAL INPATH './local/file/path' OVERWRITE INTO TABLE invites PARTITION (key='value');
hadoop fs -copyFromLocal /path/in/linux /hdfs/path
MSCK REPAIR TABLE
1条答案
按热度按时间jk9hmnmh1#
在中指定的位置
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
要创建分区,请参阅此处的手册。