Ниже приведен мой запрос на вставку улья для копирования данных из одной таблицы в другую.
INSERT INTO target_table PARTITION(eventdate) SELECT col1,col2,.... FROM source_table ;
. Целевая таблица изначально пуста. Я предполагаю, что при копировании данных HIVE будет создавать один файл в каждом разделе, однакомоя структура каталогов выглядит следующим образом
hdfs dfs -ls /warehouse/tablespace/managed/hive/test.db/target_table/eventdate=2019-04-28/delta_0000001_0000001_0000
-rwxrwxrwx+ 3 hive hadoop 1 2019-05-08 09:54 hdfs://SugarBOXNNHA/warehouse/tablespace/managed/hive/test.db/target_table/eventdate=2019-04-28/delta_0000001_0000001_0000/_orc_acid_version
-rwxrwxrwx+ 3 hive hadoop 6071 2019-05-08 09:54 hdfs://SugarBOXNNHA/warehouse/tablespace/managed/hive/test.db/target_table/eventdate=2019-04-28/delta_0000001_0000001_0000/bucket_00002
-rwxrwxrwx+ 3 hive hadoop 5194 2019-05-08 09:54 hdfs://SugarBOXNNHA/warehouse/tablespace/managed/hive/test.db/target_table/eventdate=2019-04-28/delta_0000001_0000001_0000/bucket_00007
-rwxrwxrwx+ 3 hive hadoop 6606 2019-05-08 09:54 hdfs://SugarBOXNNHA/warehouse/tablespace/managed/hive/test.db/target_table/eventdate=2019-04-28/delta_0000001_0000001_0000/bucket_00008
Определения таблиц:
CREATE EXTERNAL TABLE IF NOT EXISTS source_table
(col1 string, col2 string, col3 string,eventdate date)
PARTITIONED BY (loaddate STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS ORC LOCATION '/warehouse/ext_hive_tables/source_table/data';
CREATE TABLE target_table(col1 string, col2 string, col3 string)
PARTITIONED BY ( eventdate date)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',' STORED AS ORC;
Почему куст создает папку 'delta_0000001_0000001_0000' и несколько файлов с именем 'bucket_ *'в этой папке?Я не применил ведро в моей таблице.Есть ли способ скопировать все в один файл в папке раздела