функция генератора, имеющая значение json_tuple
table
Область применения: Databricks SQL Databricks Runtime
Возвращает несколько объектов JSON в виде кортежа.
Синтаксис
json_tuple(jsonStr, path1 [, ...] )
Аргументы
-
jsonStr
STRING
: выражение с хорошо сформированным JSON. -
pathN
STRING
: литерал с выражением пути JSON.
Возвраты
Одна строка, состоящая из объектов JSON.
Если объект не найден, NULL
возвращается для этого объекта.
Применимо к: Databricks Runtime 12.1 и более ранних версий:
json_tuple
можно поместить только вSELECT
list в качестве корня выражения или после LATERAL VIEW. При размещении функции вSELECT
list не должно быть другой функции генератора в той жеSELECT
list или , иначе будет вызвано исключение UNSUPPORTED_GENERATOR.MULTI_GENERATOR.Применимо к: Databricks SQL Databricks Runtime 12.2 LTS и выше:
Вызов из пункта LATERAL VIEW или
SELECT
list не рекомендуется. Вместо этого вызовитеjson_tuple
как table_reference.
Примеры
Применимо к: 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;
Связанные функции
- : оператор
- функция json_object_keys
- функция json_array_length
- функция генератора, значением которой является json_tuple table
- функция from_json
- функция get_json_object
- функция schema_of_json
- функция to_json