Hive中的STRUCT類型數據是一種復合數據類型,用于表示具有不同屬性的數據結構
DESCRIBE
語句查看表結構:DESCRIBE your_table_name;
這將顯示表中所有列及其數據類型,包括STRUCT類型。例如:
+------+--------+
| col1 | col2 |
+------+--------+
| id | struct |
+------+--------+
| name | age |
+------+--------+
要查詢STRUCT類型列的每個元素,可以使用LATERAL VIEW
和EXPLODE
函數。假設your_table_name
表有一個名為col2
的STRUCT類型列,包含name
和age
兩個元素,可以使用以下查詢:
SELECT
t1.name,
t1.age
FROM
your_table_name
LATERAL VIEW
explode(col2) t1 AS name, age;
這將返回以下結果:
+------+---+
| name |age|
+------+---+
| Alice| 30|
| Bob | 25|
+------+---+
在這個例子中,LATERAL VIEW
用于將col2
列中的每個元素展開為單獨的行,然后通過別名t1
為這些行分配列名。