Apache Spark (2.4.2) с Hive MetaStore 3 - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь подключить Spark 2.4 к Hive Metastore 3 для каталогизации файлов ORC на S3.

Конфигурация искры:

   sparkConf
                .set("spark.sql.catalogImplementation", "hive")
                .set("hive.metastore.uris", thrift://metastore:9083)
                .set("spark.sql.warehouse.dir", "s3:/data")

Искровой код:

input
            .write()
            .mode(SaveMode.Overwrite)
            .format("orc")
            .option("path", "s3:/data/table")
            .saveAsTable("table");

Spark может подключиться и создать таблицу в метастазах, но она не создается должным образом.

Это схема таблицы в каталоге:

 CREATE TABLE hive.default.table (
col array(varchar),
 date integer

)  WITH (
  external_location = 'file:/user/hive/warehouse/table-__PLACEHOLDER__',
 format = 'SEQUENCEFILE',
 partitioned_by = ARRAY['date']
 )

external_location неверно, нет четкой схемы (столбцы), а таблица format неверна.

Также у меня есть это предупреждение, я не уверен, что это связано с проблемой:

Could not persist default.table in a Hive compatible way. Persisting it into Hive metastore in Spark SQL specific format.

Кто-то мог работать с metastore 3 таким образом?

Я знаком с https://stackoverflow.com/a/53065525/3276980 и предпочитаю использовать saveAsTable

...