溫馨提示×

hive一行轉多行怎么實現

小億
125
2024-12-31 02:49:06
欄目: 大數據

在Hive中,可以使用LATERAL VIEWEXPLODE函數將一行數據轉換為多行數據。這里有一個例子說明如何實現這個功能:

假設我們有一個名為user_info的表,其中有一個名為interests的數組列,包含用戶感興趣的多個領域。

CREATE TABLE user_info (
  id INT,
  name STRING,
  interests ARRAY<STRING>
);

現在,假設我們要將每個用戶的興趣領域轉換為一個單獨的行。我們可以使用以下查詢:

SELECT
  id,
  name,
  interest
FROM
  user_info
LATERAL VIEW
  EXPLODE(interests) interests_table AS interest;

這將返回以下結果:

id | name  | interest
-------------------------
1  | Alice | Technology
1  | Alice | Sports
2  | Bob   | Music
2  | Bob   | Art

在這個例子中,我們使用LATERAL VIEW關鍵字將interests數組列轉換為一個臨時表interests_table,然后使用EXPLODE函數將數組中的每個元素單獨的行。最后,我們從臨時表中選擇所需的列并將它們組合成一個新的行。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女