TCatalogObject {
01: type (i32) = 3,
02: catalog_version (i64) = 5990,
05: table (struct) = TTable {
01: db_name (string) = "default",
02: tbl_name (string) = "people",
04: access_level (i32) = 1,
05: columns (list) = list<struct>[2] {
[0] = TColumn {
01: columnName (string) = "person",
02: columnType (struct) = TColumnType {
01: types (list) = list<struct>[1] {
[0] = TTypeNode {
01: type (i32) = 0,
02: scalar_type (struct) = TScalarType {
01: type (i32) = 12,
},
},
},
},
03: comment (string) = "Inferred from Parquet file.",
04: col_stats (struct) = TColumnStats {
01: avg_size (double) = -1,
02: max_size (i64) = -1,
03: num_distinct_values (i64) = -1,
04: num_nulls (i64) = -1,
05: num_trues (i64) = -1,
06: num_falses (i64) = -1,
},
05: position (i32) = 0,
06: virtual_column_type (i32) = 0,
14: is_nullable (bool) = true,
20: is_iceberg_column (bool) = true,
21: iceberg_field_id (i32) = 1,
22: iceberg_field_map_key_id (i32) = -1,
23: iceberg_field_map_value_id (i32) = -1,
},
[1] = TColumn {
01: columnName (string) = "region",
02: columnType (struct) = TColumnType {
01: types (list) = list<struct>[1] {
[0] = TTypeNode {
01: type (i32) = 0,
02: scalar_type (struct) = TScalarType {
01: type (i32) = 12,
},
},
},
},
03: comment (string) = "Inferred from Parquet file.",
04: col_stats (struct) = TColumnStats {
01: avg_size (double) = -1,
02: max_size (i64) = -1,
03: num_distinct_values (i64) = -1,
04: num_nulls (i64) = -1,
05: num_trues (i64) = -1,
06: num_falses (i64) = -1,
},
05: position (i32) = 1,
06: virtual_column_type (i32) = 0,
14: is_nullable (bool) = true,
20: is_iceberg_column (bool) = true,
21: iceberg_field_id (i32) = 2,
22: iceberg_field_map_key_id (i32) = -1,
23: iceberg_field_map_value_id (i32) = -1,
},
},
06: clustering_columns (list) = list<struct>[0] {
},
07: virtual_columns (list) = list<struct>[5] {
[0] = TColumn {
01: columnName (string) = "input__file__name",
02: columnType (struct) = TColumnType {
01: types (list) = list<struct>[1] {
[0] = TTypeNode {
01: type (i32) = 0,
02: scalar_type (struct) = TScalarType {
01: type (i32) = 12,
},
},
},
},
04: col_stats (struct) = TColumnStats {
01: avg_size (double) = -1,
02: max_size (i64) = -1,
03: num_distinct_values (i64) = -1,
04: num_nulls (i64) = -1,
05: num_trues (i64) = -1,
06: num_falses (i64) = -1,
},
05: position (i32) = 0,
06: virtual_column_type (i32) = 1,
},
[1] = TColumn {
01: columnName (string) = "file__position",
02: columnType (struct) = TColumnType {
01: types (list) = list<struct>[1] {
[0] = TTypeNode {
01: type (i32) = 0,
02: scalar_type (struct) = TScalarType {
01: type (i32) = 6,
},
},
},
},
04: col_stats (struct) = TColumnStats {
01: avg_size (double) = 8,
02: max_size (i64) = 8,
03: num_distinct_values (i64) = -1,
04: num_nulls (i64) = -1,
05: num_trues (i64) = -1,
06: num_falses (i64) = -1,
},
05: position (i32) = 0,
06: virtual_column_type (i32) = 2,
},
[2] = TColumn {
01: columnName (string) = "partition__spec__id",
02: columnType (struct) = TColumnType {
01: types (list) = list<struct>[1] {
[0] = TTypeNode {
01: type (i32) = 0,
02: scalar_type (struct) = TScalarType {
01: type (i32) = 5,
},
},
},
},
04: col_stats (struct) = TColumnStats {
01: avg_size (double) = 4,
02: max_size (i64) = 4,
03: num_distinct_values (i64) = -1,
04: num_nulls (i64) = -1,
05: num_trues (i64) = -1,
06: num_falses (i64) = -1,
},
05: position (i32) = 0,
06: virtual_column_type (i32) = 3,
},
[3] = TColumn {
01: columnName (string) = "iceberg__partition__serialized",
02: columnType (struct) = TColumnType {
01: types (list) = list<struct>[1] {
[0] = TTypeNode {
01: type (i32) = 0,
02: scalar_type (struct) = TScalarType {
01: type (i32) = 13,
},
},
},
},
04: col_stats (struct) = TColumnStats {
01: avg_size (double) = -1,
02: max_size (i64) = -1,
03: num_distinct_values (i64) = -1,
04: num_nulls (i64) = -1,
05: num_trues (i64) = -1,
06: num_falses (i64) = -1,
},
05: position (i32) = 0,
06: virtual_column_type (i32) = 4,
},
[4] = TColumn {
01: columnName (string) = "iceberg__data__sequence__number",
02: columnType (struct) = TColumnType {
01: types (list) = list<struct>[1] {
[0] = TTypeNode {
01: type (i32) = 0,
02: scalar_type (struct) = TScalarType {
01: type (i32) = 6,
},
},
},
},
04: col_stats (struct) = TColumnStats {
01: avg_size (double) = 8,
02: max_size (i64) = 8,
03: num_distinct_values (i64) = -1,
04: num_nulls (i64) = -1,
05: num_trues (i64) = -1,
06: num_falses (i64) = -1,
},
05: position (i32) = 0,
06: virtual_column_type (i32) = 5,
},
},
08: table_stats (struct) = TTableStats {
01: num_rows (i64) = 6,
02: total_file_bytes (i64) = 5137,
},
09: table_type (i32) = 5,
10: hdfs_table (struct) = THdfsTable {
01: hdfsBaseDir (string) = "s3a://novas3devcontainer/user/hive/warehouse/people",
02: colNames (list) = list<string>[2] {
[0] = "person",
[1] = "region",
},
03: nullPartitionKeyValue (string) = "__HIVE_DEFAULT_PARTITION__",
04: partitions (map) = map<i64,struct>[1] {
0 -> THdfsPartition {
07: partitionKeyExprs (list) = list<struct>[0] {
},
09: file_desc (list) = list<struct>[5] {
[0] = THdfsFileDesc {
01: file_desc_data (string) = "\x14\x00\x00\x00\x00\x00\x00\x00\f\x00\x1c\x00\x18\x00\f\x00\x00\x00\x04\x00\f\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00;\x00\x00\x00data/19452e578c623f35-488798a700000001_22519716_data.0.parq\x00",
},
[1] = THdfsFileDesc {
01: file_desc_data (string) = "\x14\x00\x00\x00\x00\x00\x00\x00\f\x00\x1c\x00\x18\x00\f\x00\x00\x00\x04\x00\f\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00N\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00;\x00\x00\x00data/cc4a61a1ef6d217a-d35f7cf300000000_66397012_data.0.parq\x00",
},
[2] = THdfsFileDesc {
01: file_desc_data (string) = "\x14\x00\x00\x00\x00\x00\x00\x00\f\x00\x18\x00\x14\x00\f\x00\x00\x00\x04\x00\f\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x006\x03\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00=\x00\x00\x00data/5c475a6e90927883-22cf534300000000_1720428944_data.0.parq\x00\x00\x00",
},
[3] = THdfsFileDesc {
01: file_desc_data (string) = "\x14\x00\x00\x00\x00\x00\x00\x00\f\x00\x18\x00\x14\x00\f\x00\x00\x00\x04\x00\f\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00C\x05\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00D\x00\x00\x00data/delete-19452e578c623f35-488798a700000001_1476985321_data.0.parq\x00\x00\x00\x00",
},
[4] = THdfsFileDesc {
01: file_desc_data (string) = "\x14\x00\x00\x00\x00\x00\x00\x00\f\x00\x18\x00\x14\x00\f\x00\x00\x00\x04\x00\f\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00C\x05\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00D\x00\x00\x00data/delete-cc4a61a1ef6d217a-d35f7cf300000000_1013384343_data.0.parq\x00\x00\x00\x00",
},
},
10: location (struct) = THdfsPartitionLocation {
01: prefix_index (i32) = 0,
02: suffix (string) = "",
},
11: access_level (i32) = 1,
12: stats (struct) = TTableStats {
01: num_rows (i64) = 6,
},
13: is_marked_cached (bool) = false,
14: id (i64) = 0,
15: hms_parameters (map) = map<string,string>[0] {
},
16: num_blocks (i64) = 0,
17: total_file_size_bytes (i64) = 5137,
19: has_incremental_stats (bool) = false,
25: partition_name (string) = "",
26: prev_id (i64) = -1,
27: hdfs_storage_descriptor (struct) = THdfsStorageDescriptor {
01: lineDelim (byte) = 0x0a,
02: fieldDelim (byte) = 0x01,
03: collectionDelim (byte) = 0x01,
04: mapKeyDelim (byte) = 0x01,
05: escapeChar (byte) = 0x00,
06: quoteChar (byte) = 0x01,
07: fileFormat (i32) = 4,
08: blockSize (i32) = 0,
},
},
},
05: nullColumnValue (string) = "\\N",
07: network_addresses (list) = list<struct>[0] {
},
09: partition_prefixes (list) = list<string>[1] {
[0] = "s3a://novas3devcontainer/user/hive/warehouse/people",
},
10: prototype_partition (struct) = THdfsPartition {
07: partitionKeyExprs (list) = list<struct>[0] {
},
14: id (i64) = -1,
26: prev_id (i64) = -1,
27: hdfs_storage_descriptor (struct) = THdfsStorageDescriptor {
01: lineDelim (byte) = 0x0a,
02: fieldDelim (byte) = 0x01,
03: collectionDelim (byte) = 0x01,
04: mapKeyDelim (byte) = 0x01,
05: escapeChar (byte) = 0x00,
06: quoteChar (byte) = 0x01,
07: fileFormat (i32) = 8,
08: blockSize (i32) = 0,
},
},
11: sql_constraints (struct) = TSqlConstraints {
01: primary_keys (list) = list<struct>[0] {
},
02: foreign_keys (list) = list<struct>[0] {
},
},
12: is_full_acid (bool) = false,
14: has_full_partitions (bool) = true,
},
12: metastore_table (struct) = Table {
01: tableName (string) = "people",
02: dbName (string) = "default",
03: owner (string) = "psantos",
04: createTime (i32) = 1756200963,
05: lastAccessTime (i32) = -440661,
06: retention (i32) = 2147483647,
07: sd (struct) = StorageDescriptor {
01: cols (list) = list<struct>[2] {
[0] = FieldSchema {
01: name (string) = "person",
02: type (string) = "string",
03: comment (string) = "Inferred from Parquet file.",
},
[1] = FieldSchema {
01: name (string) = "region",
02: type (string) = "string",
03: comment (string) = "Inferred from Parquet file.",
},
},
02: location (string) = "s3a://novas3devcontainer/user/hive/warehouse/people",
03: inputFormat (string) = "org.apache.iceberg.mr.hive.HiveIcebergInputFormat",
04: outputFormat (string) = "org.apache.iceberg.mr.hive.HiveIcebergOutputFormat",
05: compressed (bool) = false,
06: numBuckets (i32) = 0,
07: serdeInfo (struct) = SerDeInfo {
01: name (string) = "",
02: serializationLib (string) = "org.apache.iceberg.mr.hive.HiveIcebergSerDe",
03: parameters (map) = map<string,string>[0] {
},
},
08: bucketCols (list) = list<string>[0] {
},
09: sortCols (list) = list<struct>[0] {
},
10: parameters (map) = map<string,string>[0] {
},
11: skewedInfo (struct) = SkewedInfo {
01: skewedColNames (list) = list<string>[0] {
},
02: skewedColValues (list) = list<list>[0] {
},
03: skewedColValueLocationMaps (map) = map<list,string>[0] {
},
},
12: storedAsSubDirectories (bool) = false,
},
08: partitionKeys (list) = list<struct>[0] {
},
09: parameters (map) = map<string,string>[26] {
"EXTERNAL" -> "TRUE",
"OBJCAPABILITIES" -> "EXTREAD,EXTWRITE",
"accessType" -> "8",
"current-schema" -> "{\"type\":\"struct\",\"schema-id\":0,\"fields\":[{\"id\":1,\"name\":\"person\",\"required\":false,\"type\":\"string\",\"doc\":\"Inferred from Parquet file.\"},{\"id\":2,\"name\":\"region\",\"required\":false,\"type\":\"string\",\"doc\":\"Inferred from Parquet file.\"}]}",
"current-snapshot-id" -> "1765754243809893860",
"current-snapshot-summary" -> "{\"added-data-fil[...](340)",
"current-snapshot-timestamp-ms" -> "1756201469587",
"engine.hive.enabled" -> "true",
"external.table.purge" -> "TRUE",
"impala.events.catalogServiceId" -> "a7019bacd71d4819:a17d009675d81858",
"impala.events.catalogVersion" -> "104",
"metadata_location" -> "s3a://novas3devcontainer/user/hive/warehouse/people/metadata/00003-37cc7578-7d9b-46f1-8448-ee1917db9daf.metadata.json",
"numFiles" -> "3",
"numRows" -> "6",
"previous_metadata_location" -> "s3a://novas3devcontainer/user/hive/warehouse/people/metadata/00002-a870ad3a-e10c-4b92-9d78-1ccf438271b0.metadata.json",
"snapshot-count" -> "3",
"storage_handler" -> "org.apache.iceberg.mr.hive.HiveIcebergStorageHandler",
"table_type" -> "ICEBERG",
"totalSize" -> "5137",
"transient_lastDdlTime" -> "1756200963",
"uuid" -> "feb7c1f1-0871-411d-99de-74c5b752669d",
"write.delete.mode" -> "merge-on-read",
"write.format.default" -> "parquet",
"write.merge.mode" -> "merge-on-read",
"write.parquet.compression-codec" -> "zstd",
"write.update.mode" -> "merge-on-read",
},
10: viewOriginalText (string) = "",
11: viewExpandedText (string) = "",
12: tableType (string) = "EXTERNAL_TABLE",
14: temporary (bool) = false,
15: rewriteEnabled (bool) = false,
17: catName (string) = "hive",
18: ownerType (i32) = 1,
},
16: storage_metadata_load_time_ns (i64) = 5812541107,
17: iceberg_table (struct) = TIcebergTable {
01: table_location (string) = "s3a://novas3devcontainer/user/hive/warehouse/people",
02: partition_spec (list) = list<struct>[1] {
[0] = TIcebergPartitionSpec {
01: spec_id (i32) = 0,
},
},
03: default_partition_spec_id (i32) = 0,
04: content_files (struct) = TIcebergContentFileStore {
01: path_hash_to_data_file_without_deletes (map) = map<string,struct>[2] {
"2a0e7208e94c5d05838e3c39cf74a9a6" -> THdfsFileDesc {
01: file_desc_data (string) = "\x14\x00\x00\x00\x00\x00\x00\x00\f\x00\x1c\x00\x18\x00\f\x00\x00\x00\x04\x00\f\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00N\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00;\x00\x00\x00data/cc4a61a1ef6d217a-d35f7cf300000000_66397012_data.0.parq\x00",
02: file_metadata (string) = "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\n\x00\x04\x00\x06\x00\x00\x00\x10\x00\x00\x00\x00\x00\n\x00\x14\x00\x00\x00\f\x00\x04\x00\n\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00",
},
"2f617e80a57292e83e4804a6fdf6f256" -> THdfsFileDesc {
01: file_desc_data (string) = "\x14\x00\x00\x00\x00\x00\x00\x00\f\x00\x1c\x00\x18\x00\f\x00\x00\x00\x04\x00\f\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00;\x00\x00\x00data/19452e578c623f35-488798a700000001_22519716_data.0.parq\x00",
02: file_metadata (string) = "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\n\x00\x04\x00\x06\x00\x00\x00\x10\x00\x00\x00\x00\x00\n\x00\x14\x00\x00\x00\f\x00\x04\x00\n\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00",
},
},
02: path_hash_to_data_file_with_deletes (map) = map<string,struct>[1] {
"a97aafdd8a95398c948a98625bd129f2" -> THdfsFileDesc {
01: file_desc_data (string) = "\x14\x00\x00\x00\x00\x00\x00\x00\f\x00\x18\x00\x14\x00\f\x00\x00\x00\x04\x00\f\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x006\x03\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00=\x00\x00\x00data/5c475a6e90927883-22cf534300000000_1720428944_data.0.parq\x00\x00\x00",
02: file_metadata (string) = "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\n\x00\x04\x00\x06\x00\x00\x00\x10\x00\x00\x00\x00\x00\n\x00\x14\x00\x00\x00\f\x00\x04\x00\n\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00",
},
},
03: path_hash_to_position_delete_file (map) = map<string,struct>[2] {
"7de157bbafffa8a0b2e60a2326b4e114" -> THdfsFileDesc {
01: file_desc_data (string) = "\x14\x00\x00\x00\x00\x00\x00\x00\f\x00\x18\x00\x14\x00\f\x00\x00\x00\x04\x00\f\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00C\x05\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00D\x00\x00\x00data/delete-19452e578c623f35-488798a700000001_1476985321_data.0.parq\x00\x00\x00\x00",
02: file_metadata (string) = "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\n\x00\x04\x00\x06\x00\x00\x00\x10\x00\x00\x00\x00\x00\n\x00\x14\x00\x00\x00\f\x00\x04\x00\n\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00",
},
"e3ea58946264449ae9b3f66a3b1d5f18" -> THdfsFileDesc {
01: file_desc_data (string) = "\x14\x00\x00\x00\x00\x00\x00\x00\f\x00\x18\x00\x14\x00\f\x00\x00\x00\x04\x00\f\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00C\x05\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00D\x00\x00\x00data/delete-cc4a61a1ef6d217a-d35f7cf300000000_1013384343_data.0.parq\x00\x00\x00\x00",
02: file_metadata (string) = "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\n\x00\x04\x00\x06\x00\x00\x00\x10\x00\x00\x00\x00\x00\n\x00\x14\x00\x00\x00\f\x00\x04\x00\n\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00",
},
},
04: path_hash_to_equality_delete_file (map) = map<string,struct>[0] {
},
05: has_avro (bool) = false,
06: has_orc (bool) = false,
07: has_parquet (bool) = true,
},
05: catalog_snapshot_id (i64) = 1765754243809893860,
06: parquet_compression_codec (struct) = TCompressionCodec {
01: codec (i32) = 10,
02: compression_level (i32) = 3,
},
07: parquet_row_group_size (i64) = 0,
08: parquet_plain_page_size (i64) = 0,
09: parquet_dict_page_size (i64) = 0,
10: partition_stats (map) = map<string,struct>[1] {
"{}" -> TIcebergPartitionStats {
01: num_files (i64) = 5,
02: num_rows (i64) = 6,
03: file_size_in_bytes (i64) = 5137,
},
},
},
},
}