Как выполнить импорт Sqoop из Oracle в Hive в сжатой таблице
Пробовал импортировать Sqoop из Oracle в Hive в текстовой секционированной таблице, и это сработало. Когда вы пытаетесь сделать то же самое в сжатой таблице (SNAPPY, ZLIB, BZIP2), при сжатии данных с помощью Sqoop с соответствующим кодеком, он создает файлы. Но при попытке выбрать через Hive я получаю сообщение об ошибке: Ошибка: java.io.IOException: java.lang.RuntimeException: не удалось создать разделение ORC с исключением: org.apache.orc.FileFormatException: искаженный файл ORC maprfs: /// envir ... / 2019/4/20190416 / part-m-00000.snappy. Неверный постскриптум. (состояние =, код = 0)
Тесты проходят следующим образом: - Создать таблицу - изменить файл параметров sqoop - запустить Sqoop - Изменить таблицу .. добавить раздел - попробовать выбрать, что приведет к ошибке
SQOOP: --delete-target-dir --target-dir "/environ..3/2019/4/20190416" --compression-codec "org.apache.hadoop.io.compress.BZip2Codec" --hive-table "... tmp_member3" --hcatalog-storage-stanza 'хранится как orc tblproperties ("orc.compress" = "BZIP2")' --hive-partition-key "'год', 'месяц', 'день'" --hive-partition-value "'2019', '4', '20190416'"
HIVE: СОЗДАТЬ ВНЕШНЮЮ ТАБЛИЦУ xx.tmp_member3 (a STRING, kpi_name STRING, b STRING, c STRING) РАЗДЕЛЕНА ПО (YEAR INT, MONTH INT, DAY INT) СТРОКА ФОРМАТИРОВАТЬ РАЗДЕЛЕННЫЕ ПОЛЯ, ЗАКОНЧЕННЫЕ ',' STORED AS ORC LOCATION '/ envir. ./2019/4/20190416 'TBLPROPERTIES (' orc.compress '=' BZIP2 ');
Я уже пробовал "set hive.exec.orc.split.strategy = BI", но безуспешно.