Spark создает файлы в таблицах Hive с паркетной версией 1.6.0 - PullRequest
0 голосов
/ 16 мая 2019

Я хочу вставить данные в уже существующую многораздельную паркетную таблицу Hive с помощью Spark Sql.

dataframe.write.mode (SaveMode.Append) .insertInto ("hive_parquet_part_table")

Моя таблица Hive:

    CREATE TABLE hive_parquet_part_table(
    abc string,
    def string
    )
    PARTITIONED BY (part1 string, part2 string)
STORED AS PARQUET
LOCATION 'alluxio://localhost:19998/'
TBLPROPERTIES ("parquet.compress"="SNAPPY");

Я могу записать данные в таблицу Hive, но для записи используется паркет версии 1.6.0.Проблема в файлах паркета в этой версии не хранит мин / макс для полей типа строковых данных, которые могут повлиять на производительность запросов, выполняемых в таблице Hive.Я получаю файлы паркета, заканчивающиеся на .c000

Если я непосредственно создаю файл паркета (без таблицы кустов), используя

dataframe.write.format ("parquet"). Path ("filepath")

, он создает файл паркета с версией 1.10, которая обеспечивает мин / макс для строковых полей. Вот, я получаю файлы паркета, заканчивающиеся на .snappy.parquet

Есть ли способ, которым я могу создавать файлы паркета с версией 1.10 для Hive, используя spark.

Версия Spark - 2.4.0

Версия Hive - 2.3.2

PS - я не могу использовать saveAsTable (), потому что spark создает таблицу для этой команды, пока я хочутаблица, созданная Hive.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...