json_object_keys(json_object)
Описание
Функция json_object_keys()
возвращает массив ключей JSON-объекта. Если входное значение не является JSON-объектом, возвращается NULL.
Параметры
json_object
: Column - JSON-объект в виде строки
Возвращаемое значение
Array[String] - массив ключей JSON-объекта или NULL
Пример использования
from pyspark.sql import SparkSession
from pyspark.sql.functions import json_object_keys
# Создаем SparkSession
spark = SparkSession.builder.appName("json_object_keys_example").getOrCreate()
# Создаем DataFrame с JSON-объектами
data = [
(1, '{"name": "Alice", "age": 25}'),
(2, '{"city": "New York", "country": "USA"}'),
(3, '{}'),
(4, '["a", "b", "c"]'),
(5, None)
]
df = spark.createDataFrame(data, ["id", "json"])
# Получаем ключи JSON-объектов
result = df.select(
"id",
json_object_keys("json").alias("keys")
).show()
# Результат:
# +---+------------------+
# | id| keys|
# +---+------------------+
# | 1|[name, age] |
# | 2|[city, country] |
# | 3|[] |
# | 4| null|
# | 5| null|
# +---+------------------+
Примечания
- Если входное значение не является JSON-объектом, возвращается NULL
- Для работы с JSON-массивами используйте
json_array_length()
- Для получения значений JSON-объекта используйте
json_tuple()
- Для работы с JSON-строками используйте
get_json_object()