適用対象:
Databricks SQL
Databricks Runtime
複数の JSON オブジェクトをタプルとして返します。
構文
json_tuple(jsonStr, path1 [, ...] )
引数
返品
JSON オブジェクトで構成される 1 行。
オブジェクトが見つからない場合は、そのオブジェクトに対して 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リストからの呼び出しは非推奨です。 代わりに、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;