다음을 통해 공유


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 발생합니다.

  • check marked yes적용 대상: 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

check marked yes적용 대상: 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;