日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

復雜類型函數

您可以在SQL分析任務中使用復雜類型函數處理復雜數據類型,例如ARRAY、MAP。本文為您提供SQL分析任務支持的復雜類型函數的命令格式、參數說明及示例,指導您使用復雜類型函數完成開發。

SQL支持的復雜類函數如下。

函數

功能

EXPLODE

將一行數據轉為多行的UDTF。

EXPLODE

  • 使用限制

    • 在一個select中只能出現一個explode函數,不可以出現表的其他列。

    • 不可以與group bycluster bydistribute bysort by一起使用。

  • 命令格式

    explode (<var>)
  • 命令說明

    將一行數據轉為多行的UDTF。

    • 如果參數是array<T>類型,則將列中存儲的ARRAY轉為多行。

    • 如果參數是map<K, V>類型,則將列中存儲的MAP的每個Key-Value對轉換為包含兩列的行,其中一列存儲Key,另一列存儲Value。

    • 如果表中存在NULL數據,不會單獨返回。

  • 參數說明

    var:必填。array<T>類型或map<K, V>類型。

  • 返回值說明

    返回轉換后的行。

  • 示例

    • 示例1:

      例如表t_table_map的字段為c1 bigint, t_map map<string,bigint>,包含數據如下:

        +------------+-------+
      | c1         | t_map |
      +------------+-------+
      | 1000       | {k11:86, k21:15} |
      | 1001       | {k12:97, k22:2} |
      | 1002       | {k13:99, k23:1} |
      +------------+-------+

      命令示例如下。

      select explode(t_map) from t_table_map;
      --返回結果如下。
      +-----+------------+
      | key | value      |
      +-----+------------+
      | k11 | 86         |
      | k21 | 15         |
      | k12 | 97         |
      | k22 | 2          |
      | k13 | 99         |
      | k23 | 1          |
      +-----+------------+
    • 示例2:

      返回結果中不包含單獨的NULL行數據。

      --創建表
      create table explod_array (arr array<string>);
      --插入數據
      insert into table explod_array values (array('1','2','3',null,'agb')),
                                            (array('1','2','3',null,'ag')),
                                            (null);
      --查詢數據
      select * from explod_array;
      --返回:
      +------------+
      | arr        |
      +------------+
      | ["1","2","3",null,"agb"] |
      | ["1","2","3",null,"ag"] |
      | NULL       |
      +------------+
      --展開數據
      select explode(arr) from explod_array;
      --返回結果里沒有包括單獨的NULL行數據
      +------------+
      | col        |
      +------------+
      | 1          |
      | 2          |
      | 3          |
      | NULL       |
      | agb        |
      | 1          |
      | 2          |
      | 3          |
      | NULL       |
      | ag         |
      +------------+