に最終更新
EXPLODE_NUMBERS_OUTER
説明
explode_numbers_outer 関数は整数を受け取り、指定された範囲内の各数値を個別の行に展開します。ネストされたデータ構造を標準的なフラットテーブル形式に展開するために、LATERAL VIEW とともに使用します。explode_numbers_outer と explode_numbers の主な違いは、NULL 値の扱いです。
構文
EXPLODE_NUMBERS_OUTER(<int>)
パラメータ
<int>整数型の値
戻り値
- 整数の列
[0, n)を返します。列の型はNullable<INT>です。 <int>が NULL、0、または負の値の場合、NULL を含む 1 行を返します。
例
- 通常のパラメータ
select * from (select 1 as k1) t1 lateral view explode_numbers_outer(10) t2 as c;+------+------+
| k1 | c |
+------+------+
| 1 | 0 |
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 1 | 4 |
| 1 | 5 |
| 1 | 6 |
| 1 | 7 |
| 1 | 8 |
| 1 | 9 |
+------+------+ - パラメータが 0 の場合
select * from (select 1 as k1) t1 lateral view explode_numbers_outer(0) t2 as c;+------+------+
| k1 | c |
+------+------+
| 1 | NULL |
+------+------+ - パラメータが NULL の場合
select * from (select 1 as k1) t1 lateral view explode_numbers_outer(NULL) t2 as c;+------+------+
| k1 | c |
+------+------+
| 1 | NULL |
+------+------+ - パラメータが負の値の場合
select * from (select 1 as k1) t1 lateral view explode_numbers_outer(-1) t2 as c;+------+------+
| k1 | c |
+------+------+
| 1 | NULL |
+------+------+