json_tuple
테이블 반환 생성기 함수
적용 대상: Databricks SQL Databricks Runtime
여러 JSON 개체를 튜플로 반환합니다.
구문
json_tuple(jsonStr, path1 [, ...] )
인수
jsonStr
: 올바른 형식의STRING
JSON이 있는 식입니다.pathN
STRING
: JSON 경로 식이 있는 리터럴입니다.
반품
JSON 개체로 구성된 단일 행입니다.
개체를 찾을 NULL
수 없는 경우 해당 개체에 대해 반환됩니다.
적용 대상: Databricks Runtime 12.1 이하:
json_tuple
는 식의SELECT
루트 또는 LATERAL VIEW 다음에만 목록에 배치할 수 있습니다. 함수SELECT
를 목록에 배치할 때 동일한SELECT
목록이나 UNSUPPORTED_GENERATOR 다른 생성기 함수가 없어야 합니다. MULTI_GENERATOR 발생합니다.적용 대상: Databricks SQL Databricks Runtime 12.2 LTS 이상:
LATERAL VIEW 절 또는 목록의
SELECT
호출은 더 이상 사용되지 않습니다. 대신 table_reference 호출json_tuple
합니다.
예제
적용 대상: Databricks Runtime 12.1 이하:
> SELECT json_tuple('{"a":1, "b":2}', 'a', 'b'), 'Spark SQL';
1 2 Spark SQL
> SELECT json_tuple('{"a":1, "b":2}', 'a', 'c'), 'Spark SQL';
1 NULL Spark SQL
> SELECT json_tuple('{"a":1, "b":2}', 'a', 'c'), json_tuple('{"c":1, "d":2}', 'c', 'd'), 'Spark SQL';
Error: UNSUPPORTED_GENERATOR.MULTI_GENERATOR
적용 대상: Databricks SQL Databricks Runtime 12.2 LTS 이상:
> SELECT j.*, 'Spark SQL' FROM json_tuple('{"a":1, "b":2}', 'a', 'b') AS j;
1 2 Spark SQL
> SELECT j.*, 'Spark SQL' FROM json_tuple('{"a":1, "b":2}', 'a', 'c') AS j;
1 NULL Spark SQL
> SELECT j1.*, j2.*, 'Spark SQL'
FROM json_tuple('{"a":1, "b":2}', 'a', 'c') AS j1,
json_tuple('{"c":1, "d":2}', 'c', 'd') AS j2;