Package org.apache.iceberg.hive
Class HiveSchemaUtil
java.lang.Object
org.apache.iceberg.hive.HiveSchemaUtil
- 
Method SummaryModifier and TypeMethodDescriptionstatic Schemaconvert(List<String> names, List<org.apache.hadoop.hive.serde2.typeinfo.TypeInfo> types, List<String> comments) Converts the Hive list of column names and column types to an Iceberg schema.static Schemaconvert(List<String> names, List<org.apache.hadoop.hive.serde2.typeinfo.TypeInfo> types, List<String> comments, boolean autoConvert) Converts the Hive list of column names and column types to an Iceberg schema.static SchemaConverts a Hive schema (list of FieldSchema objects) to an Iceberg schema.static SchemaConverts a Hive schema (list of FieldSchema objects) to an Iceberg schema.static Typeconvert(org.apache.hadoop.hive.serde2.typeinfo.TypeInfo typeInfo) Converts a Hive typeInfo object to an Iceberg type.static List<org.apache.hadoop.hive.metastore.api.FieldSchema> Converts the Iceberg schema to a Hive schema (list of FieldSchema objects).static org.apache.hadoop.hive.serde2.typeinfo.TypeInfoConverts an Iceberg type to a Hive TypeInfo object.static PartitionSpecConverts the Hive partition columns to Iceberg identity partition specification.
- 
Method Details- 
convertConverts the Iceberg schema to a Hive schema (list of FieldSchema objects).- Parameters:
- schema- The original Iceberg schema to convert
- Returns:
- The Hive column list generated from the Iceberg schema
 
- 
convertConverts a Hive schema (list of FieldSchema objects) to an Iceberg schema. If some of the types are not convertible then exception is thrown.- Parameters:
- fieldSchemas- The list of the columns
- Returns:
- An equivalent Iceberg Schema
 
- 
convertpublic static Schema convert(List<org.apache.hadoop.hive.metastore.api.FieldSchema> fieldSchemas, boolean autoConvert) Converts a Hive schema (list of FieldSchema objects) to an Iceberg schema.- Parameters:
- fieldSchemas- The list of the columns
- autoConvert- If- truethen TINYINT and SMALLINT is converted to INTEGER and VARCHAR and CHAR is converted to STRING. Otherwise if these types are used in the Hive schema then exception is thrown.
- Returns:
- An equivalent Iceberg Schema
 
- 
specpublic static PartitionSpec spec(Schema schema, List<org.apache.hadoop.hive.metastore.api.FieldSchema> fieldSchemas) Converts the Hive partition columns to Iceberg identity partition specification.- Parameters:
- schema- The Iceberg schema
- fieldSchemas- The partition column specification
- Returns:
- The Iceberg partition specification
 
- 
convertpublic static Schema convert(List<String> names, List<org.apache.hadoop.hive.serde2.typeinfo.TypeInfo> types, List<String> comments) Converts the Hive list of column names and column types to an Iceberg schema. If some of the types are not convertible then exception is thrown.- Parameters:
- names- The list of the Hive column names
- types- The list of the Hive column types
- comments- The list of the Hive column comments
- Returns:
- The Iceberg schema
 
- 
convertpublic static Schema convert(List<String> names, List<org.apache.hadoop.hive.serde2.typeinfo.TypeInfo> types, List<String> comments, boolean autoConvert) Converts the Hive list of column names and column types to an Iceberg schema.- Parameters:
- names- The list of the Hive column names
- types- The list of the Hive column types
- comments- The list of the Hive column comments, can be null
- autoConvert- If- truethen TINYINT and SMALLINT is converted to INTEGER and VARCHAR and CHAR is converted to STRING. Otherwise if these types are used in the Hive schema then exception is thrown.
- Returns:
- The Iceberg schema
 
- 
convertConverts an Iceberg type to a Hive TypeInfo object.- Parameters:
- type- The Iceberg type
- Returns:
- The Hive type
 
- 
convertConverts a Hive typeInfo object to an Iceberg type.- Parameters:
- typeInfo- The Hive type
- Returns:
- The Iceberg type
 
 
-