Как импортировать 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- м-00000.snappy. Неверный постскриптум. (Состояние =, код = 0)
Тесты идут так:
- Создать таблицу
- изменить файл параметров sqoop
- запустить Sqoop
- Изменить таблицу .. добавить раздел
- попробуйте выбрать, что приводит к ошибке
SQOOP:
--delete-мишень-Dir
--target-Dir
"/Environ..3/2019/4/20190416"
--compression-кодек
"Org.apache.hadoop.io.compress.BZip2Codec"
--hive стол
»... tmp_member3"
--hcatalog-хранения-строфы
'сохранено как orc tblproperties ("orc.compress" = "BZIP2")'
--hive-разбиение ключ
"'год месяц день'"
--hive-разбиение значение
" '2019', '4', '20190416'"
Улей:
СОЗДАЙТЕ ВНЕШНЮЮ ТАБЛИЦУ xx.tmp_member3 (STRING, kpi_name STRING, b STRING, c STRING), РАЗДЕЛЕННЫЙ (ГОД INT, МЕСЯЦ INT, ДЕНЬ INT) СТРОК ФОРМАТА С РАЗМЕЩЕННЫМИ ПОЛЯМИ, ПРЕКРАЩЕННЫМИ ',' ХРАНЕНО В РАМКАХ ORC '/envir../ 2019/4/20190416 'TBLPROPERTIES (' orc.compress '=' BZIP2 ');
Я уже попробовал 'set hive.exec.orc.split.strategy = BI', но безуспешно.