Мне нужно создать таблицу Hive из Spark SQL, которая будет в формате PARQUET и сжатии SNAPPY. Следующий код создает таблицу в формате PARQUET, но со сжатием GZIP:
hiveContext.sql("create table NEW_TABLE stored as parquet tblproperties ('parquet.compression'='SNAPPY') as select * from OLD_TABLE")
Но в Hue «Таблицы хранилища метаданных» -> ТАБЛИЦА -> «Свойства» по-прежнему отображаются:
| Parameter | Value |
| ================================ |
| parquet.compression | SNAPPY |
Если я изменю SNAPPY на любую другую строку, например ABCDE код по-прежнему работает нормально, за исключением сжатия GZIP:
hiveContext.sql("create table NEW_TABLE stored as parquet tblproperties ('parquet.compression'='ABCDE') as select * from OLD_TABLE")
И оттенок «Таблицы хранилища метаданных» -> ТАБЛИЦА -> «Свойства» показывает:
| Parameter | Value |
| ================================ |
| parquet.compression | ABCDE |
Это заставляет меня думать, что TBLPROPERTIES просто игнорируется Spark SQL.
Примечание. Я попытался выполнить тот же запрос непосредственно из Hive, и в случае, если свойство было равно SNAPPY, таблица была успешно создана с надлежащим сжатием (т.е. SNAPPY, а не GZIP).
create table NEW_TABLE stored as parquet tblproperties ('parquet.compression'='ABCDE') as select * from OLD_TABLE
В случае, если свойство было ABCDE, запрос не завершился ошибкой, но таблица не была создана.
Вопрос в чем проблема?