Package org.apache.iceberg.hive
Class HiveSchemaUtil
java.lang.Object
org.apache.iceberg.hive.HiveSchemaUtil
-
Method Summary
Modifier 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
-
convert
Converts 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
-
convert
Converts 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
-
convert
public 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 columnsautoConvert- Iftruethen 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
-
spec
public 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 schemafieldSchemas- The partition column specification- Returns:
- The Iceberg partition specification
-
convert
public 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 namestypes- The list of the Hive column typescomments- The list of the Hive column comments- Returns:
- The Iceberg schema
-
convert
public 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 namestypes- The list of the Hive column typescomments- The list of the Hive column comments, can be nullautoConvert- Iftruethen 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
-
convert
Converts an Iceberg type to a Hive TypeInfo object.- Parameters:
type- The Iceberg type- Returns:
- The Hive type
-
convert
Converts a Hive typeInfo object to an Iceberg type.- Parameters:
typeInfo- The Hive type- Returns:
- The Iceberg type
-