RussellSpitzer commented on issue #2442:
URL: https://github.com/apache/iceberg/issues/2442#issuecomment-816381228
Tables created by other systems as "hive" and not "hadoop" tables have a bit
more setup
```Create an Iceberg table¶
The first step is to create an Iceberg table using the Spark/Java/Python API
and HiveCatalog. For the purposes of this documentation we will assume that the
table is called table_b and that the table location is s3://some_path/table_b.
In order for Iceberg to correctly set up the Hive table for querying some
configuration values need to be set, the two options for this are described
below - you can use either or the other depending on your use case.
Hive Configuration¶
The value iceberg.engine.hive.enabled needs to be set to true and added to
the Hive configuration file on the classpath of the application creating or
modifying (altering, inserting etc.) the table. This can be done by modifying
the relevant hive-site.xml. Alternatively this can be done programmatically
like so:
Configuration hadoopConfiguration =
spark.sparkContext().hadoopConfiguration();
hadoopConfiguration.set(ConfigProperties.ENGINE_HIVE_ENABLED, "true");
//iceberg.engine.hive.enabled=true
HiveCatalog catalog = new HiveCatalog(hadoopConfiguration);
...
catalog.createTable(tableId, schema, spec);
Table Property Configuration¶
The property engine.hive.enabled needs to be set to true and added to the
table properties when creating the Iceberg table. This can be done like so:
Map<String, String> tableProperties = new HashMap<String, String>();
tableProperties.put(TableProperties.ENGINE_HIVE_ENABLED, "true");
//engine.hive.enabled=true
catalog.createTable(tableId, schema, spec, tableProperties);
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]