The explode_json_array_int table function accepts a JSON array. Its implementation logic is to convert the JSON array to an array type and then call the explode function for processing. The behavior is equivalent to: explode(cast(<json_array> as Array<BIGINT>)). It should be used together with LATERAL VIEW.
EXPLODE_JSON_ARRAY_INT(<json>)
<json> JSON type, the content should be an array.<json>. The column type is Nullable<BIGINT>.<json> is NULL or an empty array (number of elements is 0), 0 rows are returned.create table example( k1 int ) properties( "replication_num" = "1" ); insert into example values(1);
select * from example lateral view explode_json_array_int('[4, 5, 5.23, null]') t2 as c;
+------+------+ | k1 | c | +------+------+ | 1 | 4 | | 1 | 5 | | 1 | 5 | | 1 | NULL | +------+------+
select * from example lateral view explode_json_array_int('["abc", "123.4", 9223372036854775808.0, 9223372036854775295.999999]') t2 as c;
+------+---------------------+ | k1 | c | +------+---------------------+ | 1 | NULL | | 1 | 123 | | 1 | NULL | | 1 | 9223372036854774784 | +------+---------------------+
9223372036854775808.0exceeds the valid range ofBIGINT, so it will be converted to NULL. The string “123.4” is converted to 123. The string “abc” cannot be converted to INT, so the result is NULL.
select * from example lateral view explode_json_array_int('[]') t2 as c;
Empty set (0.03 sec)
select * from example lateral view explode_json_array_int(NULL) t2 as c;
Empty set (0.03 sec)
select * from example lateral view explode_json_array_int('{}') t2 as c;
Empty set (0.03 sec)