mirror of
https://github.com/apache/impala.git
synced 2026-01-31 18:00:17 -05:00
Currently we prohibit setting the following properties: * iceberg.catalog * iceberg.catalog_location * iceberg.file_format * iceberg.table_identifier This patch enables setting 'iceberg.file_format', therefore if a table was created by another engine, but using HiveCatalog, we'll be able to set the data file format to the proper value and make the table readable by Impala. Setting the other properties are not needed for HiveCatalog tables. If the table wasn't created by HiveCatalog, then we cannot load the table, therefore we cannot invoke any ALTER TABLE statement at all. In that case we need to create an external table. If the table already contains data files, then Impala checks if all of them have the proper file format. If not, the ALTER TABLE statement fails. Before this patch a CREATE TABLE statement accepted any string for 'iceberg.file_format', and in case of invalid file formats the frontend silently used Parquet. This patch also adds a check to only allow valid file formats. Testing: * added e2e test Change-Id: I4b3506be4562a1ace3e6435867aadb3bdde7a8e2 Reviewed-on: http://gerrit.cloudera.org:8080/17207 Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>