Hive支持復雜數據類型,如STRUCT、ARRAY和MAP
CREATE TABLE example_struct (
id INT,
name STRING,
address STRUCT<street:STRING, city:STRING, state:STRING, zip:INT>
);
在這個例子中,我們創建了一個名為example_struct
的表,其中包含一個名為address
的字段,該字段的類型為STRUCT,包含四個字段:street、city、state和zip。
CREATE TABLE example_array (
id INT,
names ARRAY<STRING>
);
在這個例子中,我們創建了一個名為example_array
的表,其中包含一個名為names
的字段,該字段的類型為ARRAY,包含多個字符串元素。
CREATE TABLE example_map (
id INT,
attributes MAP<STRING, STRING>
);
在這個例子中,我們創建了一個名為example_map
的表,其中包含一個名為attributes
的字段,該字段的類型為MAP,包含多個字符串鍵值對。
插入復雜數據類型的示例:
-- 插入STRUCT類型數據
INSERT INTO example_struct (id, name, address)
VALUES (1, 'John Doe', STRUCT('123 Main St', 'New York', 'NY', 10001));
-- 插入ARRAY類型數據
INSERT INTO example_array (id, names)
VALUES (2, ARRAY('Alice', 'Bob', 'Charlie'));
-- 插入MAP類型數據
INSERT INTO example_map (id, attributes)
VALUES (3, MAP('key1', 'value1', 'key2', 'value2'));
查詢復雜數據類型的示例:
SELECT * FROM example_struct;
SELECT * FROM example_array;
SELECT * FROM example_map;
這些示例將顯示如何創建包含復雜數據類型的表以及如何插入和查詢這些數據。