You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@iceberg.apache.org by GitBox <gi...@apache.org> on 2022/06/04 06:40:21 UTC

[GitHub] [iceberg] samredai commented on a diff in pull request #4915: [DOC] Update Hive doc page with the 4.0.0-alpha-1 features

samredai commented on code in PR #4915:
URL: https://github.com/apache/iceberg/pull/4915#discussion_r889493560


##########
docs/hive/_index.md:
##########
@@ -24,19 +24,44 @@ weight: 400
 # Hive
 
 Iceberg supports reading and writing Iceberg tables through [Hive](https://hive.apache.org) by using a [StorageHandler](https://cwiki.apache.org/confluence/display/Hive/StorageHandlers).
-Here is the current compatibility matrix for Iceberg Hive support: 
 
-| Feature                  | Hive 2.x               | Hive 3.1.2             |
-| ------------------------ | ---------------------- | ---------------------- |
-| CREATE EXTERNAL TABLE    | ✔️                     | ✔️                     |
-| CREATE TABLE             | ✔️                     | ✔️                     |
-| DROP TABLE               | ✔️                     | ✔️                     |
-| SELECT                   | ✔️ (MapReduce and Tez) | ✔️ (MapReduce and Tez) |
-| INSERT INTO              | ✔️ (MapReduce only)️    | ✔️ (MapReduce only)    |
+## Feature support
+Iceberg compatibility with Hive 2.x and Hive 3.1.2/3 supported the following features:

Review Comment:
   These versions still support this so it should be present tense, right? So `s/supported/supports`



##########
docs/hive/_index.md:
##########
@@ -24,19 +24,44 @@ weight: 400
 # Hive
 
 Iceberg supports reading and writing Iceberg tables through [Hive](https://hive.apache.org) by using a [StorageHandler](https://cwiki.apache.org/confluence/display/Hive/StorageHandlers).
-Here is the current compatibility matrix for Iceberg Hive support: 
 
-| Feature                  | Hive 2.x               | Hive 3.1.2             |
-| ------------------------ | ---------------------- | ---------------------- |
-| CREATE EXTERNAL TABLE    | ✔️                     | ✔️                     |
-| CREATE TABLE             | ✔️                     | ✔️                     |
-| DROP TABLE               | ✔️                     | ✔️                     |
-| SELECT                   | ✔️ (MapReduce and Tez) | ✔️ (MapReduce and Tez) |
-| INSERT INTO              | ✔️ (MapReduce only)️    | ✔️ (MapReduce only)    |
+## Feature support
+Iceberg compatibility with Hive 2.x and Hive 3.1.2/3 supported the following features:
+
+* Creating a table
+* Dropping a table
+* Reading a table
+* Inserting into a table (will append rows) (MapReduce only)

Review Comment:
   Can `(will append rows)` and `(MapReduce only)` be expanded to warning/info boxes? Something along the lines of:
   ```
   {{< hint info >}}
   Inserting into a table will append rows to the relevant partitions.
   {{< /hint >}}
   {{< hint warning >}}
   Inserting into a table works with MapReduce only.
   {{< /hint >}}
   ```



##########
docs/hive/_index.md:
##########
@@ -24,19 +24,44 @@ weight: 400
 # Hive
 
 Iceberg supports reading and writing Iceberg tables through [Hive](https://hive.apache.org) by using a [StorageHandler](https://cwiki.apache.org/confluence/display/Hive/StorageHandlers).
-Here is the current compatibility matrix for Iceberg Hive support: 
 
-| Feature                  | Hive 2.x               | Hive 3.1.2             |
-| ------------------------ | ---------------------- | ---------------------- |
-| CREATE EXTERNAL TABLE    | ✔️                     | ✔️                     |
-| CREATE TABLE             | ✔️                     | ✔️                     |
-| DROP TABLE               | ✔️                     | ✔️                     |
-| SELECT                   | ✔️ (MapReduce and Tez) | ✔️ (MapReduce and Tez) |
-| INSERT INTO              | ✔️ (MapReduce only)️    | ✔️ (MapReduce only)    |
+## Feature support
+Iceberg compatibility with Hive 2.x and Hive 3.1.2/3 supported the following features:
+
+* Creating a table
+* Dropping a table
+* Reading a table
+* Inserting into a table (will append rows) (MapReduce only)
+
+Iceberg compatibility with Hive 4.0.0-alpha-1
+(Using HiveCatalog) supports the following, additional features:
+
+* Creating an Iceberg identity-partitioned table
+* Creating an Iceberg table with any partition spec (including the various transforms Iceberg supports)

Review Comment:
   I don't think the parentheses are needed here. I'd suggest:
   ```
   * Creating an Iceberg table with any partition spec, including the various transforms supported by Iceberg
   ```



##########
docs/hive/_index.md:
##########
@@ -24,19 +24,44 @@ weight: 400
 # Hive
 
 Iceberg supports reading and writing Iceberg tables through [Hive](https://hive.apache.org) by using a [StorageHandler](https://cwiki.apache.org/confluence/display/Hive/StorageHandlers).
-Here is the current compatibility matrix for Iceberg Hive support: 
 
-| Feature                  | Hive 2.x               | Hive 3.1.2             |
-| ------------------------ | ---------------------- | ---------------------- |
-| CREATE EXTERNAL TABLE    | ✔️                     | ✔️                     |
-| CREATE TABLE             | ✔️                     | ✔️                     |
-| DROP TABLE               | ✔️                     | ✔️                     |
-| SELECT                   | ✔️ (MapReduce and Tez) | ✔️ (MapReduce and Tez) |
-| INSERT INTO              | ✔️ (MapReduce only)️    | ✔️ (MapReduce only)    |
+## Feature support
+Iceberg compatibility with Hive 2.x and Hive 3.1.2/3 supported the following features:
+
+* Creating a table
+* Dropping a table
+* Reading a table
+* Inserting into a table (will append rows) (MapReduce only)
+
+Iceberg compatibility with Hive 4.0.0-alpha-1
+(Using HiveCatalog) supports the following, additional features:

Review Comment:
   nit: I'd word this as
   
   > With Hive version 4.0.0-alpha-1 and above, the Iceberg `HiveCatalog` supports the following additional features:



##########
docs/hive/_index.md:
##########
@@ -24,19 +24,44 @@ weight: 400
 # Hive
 
 Iceberg supports reading and writing Iceberg tables through [Hive](https://hive.apache.org) by using a [StorageHandler](https://cwiki.apache.org/confluence/display/Hive/StorageHandlers).
-Here is the current compatibility matrix for Iceberg Hive support: 
 
-| Feature                  | Hive 2.x               | Hive 3.1.2             |
-| ------------------------ | ---------------------- | ---------------------- |
-| CREATE EXTERNAL TABLE    | ✔️                     | ✔️                     |
-| CREATE TABLE             | ✔️                     | ✔️                     |
-| DROP TABLE               | ✔️                     | ✔️                     |
-| SELECT                   | ✔️ (MapReduce and Tez) | ✔️ (MapReduce and Tez) |
-| INSERT INTO              | ✔️ (MapReduce only)️    | ✔️ (MapReduce only)    |
+## Feature support
+Iceberg compatibility with Hive 2.x and Hive 3.1.2/3 supported the following features:
+
+* Creating a table
+* Dropping a table
+* Reading a table
+* Inserting into a table (will append rows) (MapReduce only)
+
+Iceberg compatibility with Hive 4.0.0-alpha-1
+(Using HiveCatalog) supports the following, additional features:
+
+* Creating an Iceberg identity-partitioned table
+* Creating an Iceberg table with any partition spec (including the various transforms Iceberg supports)
+* Creating a table from an existing table (CTAS table)
+* Altering a table while keeping Iceberg and Hive schemas in sync
+* Altering the partition schema (updating columns)
+* Altering the partition schema by specifying partition transforms
+* Truncating a table
+* Migrating tables in Avro, Parquet, or ORC (Non-ACID) format to Iceberg
+* Reading the schema of a table
+* Time travel applications
+* Inserting into a table (will append rows) (Tez only)

Review Comment:
   Similar to my other comment, I would put these in warning or info boxes instead of tacking them onto the end of the line. Those boxes are more visible disclaimers.



##########
docs/hive/_index.md:
##########
@@ -24,19 +24,44 @@ weight: 400
 # Hive
 
 Iceberg supports reading and writing Iceberg tables through [Hive](https://hive.apache.org) by using a [StorageHandler](https://cwiki.apache.org/confluence/display/Hive/StorageHandlers).
-Here is the current compatibility matrix for Iceberg Hive support: 
 
-| Feature                  | Hive 2.x               | Hive 3.1.2             |
-| ------------------------ | ---------------------- | ---------------------- |
-| CREATE EXTERNAL TABLE    | ✔️                     | ✔️                     |
-| CREATE TABLE             | ✔️                     | ✔️                     |
-| DROP TABLE               | ✔️                     | ✔️                     |
-| SELECT                   | ✔️ (MapReduce and Tez) | ✔️ (MapReduce and Tez) |
-| INSERT INTO              | ✔️ (MapReduce only)️    | ✔️ (MapReduce only)    |
+## Feature support
+Iceberg compatibility with Hive 2.x and Hive 3.1.2/3 supported the following features:
+
+* Creating a table
+* Dropping a table
+* Reading a table
+* Inserting into a table (will append rows) (MapReduce only)
+
+Iceberg compatibility with Hive 4.0.0-alpha-1
+(Using HiveCatalog) supports the following, additional features:
+
+* Creating an Iceberg identity-partitioned table
+* Creating an Iceberg table with any partition spec (including the various transforms Iceberg supports)
+* Creating a table from an existing table (CTAS table)
+* Altering a table while keeping Iceberg and Hive schemas in sync
+* Altering the partition schema (updating columns)
+* Altering the partition schema by specifying partition transforms
+* Truncating a table
+* Migrating tables in Avro, Parquet, or ORC (Non-ACID) format to Iceberg
+* Reading the schema of a table
+* Time travel applications
+* Inserting into a table (will append rows) (Tez only)
+* Inserting data overwriting existing data
 
 ## Enabling Iceberg support in Hive
 
-### Loading runtime jar
+### Hive 4.0.0-alpha-1
+
+Hive 4.0.0-alpha-1 comes with the Iceberg 0.13.1 included, no additional downloads or jars are needed.

Review Comment:
   ```suggestion
   Hive 4.0.0-alpha-1 comes with the Iceberg 0.13.1 included. No additional downloads or jars are needed.
   ```



##########
docs/hive/_index.md:
##########
@@ -65,7 +90,7 @@ For example, setting this in the `hive-site.xml` loaded by Spark will enable the
 Starting with Apache Iceberg `0.11.0`, when using Hive with Tez you also have to disable vectorization (`hive.vectorized.execution.enabled=false`).
 {{< /hint >}}
 
-#### Table property configuration
+##### Table property configuration

Review Comment:
   Keep in mind these changes may impact what shows up in the table of contents for this page. IIRC, h5 headers don't show up in the TOC.



##########
docs/hive/_index.md:
##########
@@ -24,19 +24,44 @@ weight: 400
 # Hive
 
 Iceberg supports reading and writing Iceberg tables through [Hive](https://hive.apache.org) by using a [StorageHandler](https://cwiki.apache.org/confluence/display/Hive/StorageHandlers).
-Here is the current compatibility matrix for Iceberg Hive support: 
 
-| Feature                  | Hive 2.x               | Hive 3.1.2             |
-| ------------------------ | ---------------------- | ---------------------- |
-| CREATE EXTERNAL TABLE    | ✔️                     | ✔️                     |
-| CREATE TABLE             | ✔️                     | ✔️                     |
-| DROP TABLE               | ✔️                     | ✔️                     |
-| SELECT                   | ✔️ (MapReduce and Tez) | ✔️ (MapReduce and Tez) |
-| INSERT INTO              | ✔️ (MapReduce only)️    | ✔️ (MapReduce only)    |
+## Feature support
+Iceberg compatibility with Hive 2.x and Hive 3.1.2/3 supported the following features:
+
+* Creating a table
+* Dropping a table
+* Reading a table
+* Inserting into a table (will append rows) (MapReduce only)
+
+Iceberg compatibility with Hive 4.0.0-alpha-1
+(Using HiveCatalog) supports the following, additional features:
+
+* Creating an Iceberg identity-partitioned table
+* Creating an Iceberg table with any partition spec (including the various transforms Iceberg supports)
+* Creating a table from an existing table (CTAS table)
+* Altering a table while keeping Iceberg and Hive schemas in sync
+* Altering the partition schema (updating columns)
+* Altering the partition schema by specifying partition transforms
+* Truncating a table
+* Migrating tables in Avro, Parquet, or ORC (Non-ACID) format to Iceberg
+* Reading the schema of a table
+* Time travel applications
+* Inserting into a table (will append rows) (Tez only)
+* Inserting data overwriting existing data
 
 ## Enabling Iceberg support in Hive
 
-### Loading runtime jar
+### Hive 4.0.0-alpha-1
+
+Hive 4.0.0-alpha-1 comes with the Iceberg 0.13.1 included, no additional downloads or jars are needed.
+
+### Hive 2.3.x, Hive 3.1.x
+
+You need to do the following steps:
+* Loading runtime jar
+* Enabling support

Review Comment:
   This could just be one line right?
   
   > In order to use Hive 2.3.x or Hive 3.1.x, you must load the Iceberg-Hive runtime jar and enable Iceberg support, either globally or for an individual table using a table property.
   
   and then jump into the sections below that provide more details.



-- 
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.

To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org