Я пытаюсь использовать SQL (Spark SQL 3.0, среда выполнения databricks 7.0) для создания новой таблицы из существующей таблицы. Я хотел бы объединить несколько строк из одного столбца c в столбец json в новой таблице.
Существующая таблица
id, year, month, val
u_ced 2002 05 v_scyronc
u_ced 2002 05 v_ytbtbdv
u_ced 2002 05 v_utncasx
u_pny 2005 07 v_opcrgae
u_pny 2005 07 v_wytnecs
Мне нужна новая таблица, например
id, val_json
u_ced {{"shown": true, "val_id": "v_scyronc" },
{"shown": true, "val_id": "v_ytbtbdv" },
{"shown": true, "val_id": "v_utncasx" },
{"shown": true, "val_id": "v_opcrgae" },
{"shown": true, "val_id": "v_wytnecs" }
}}
u_pny {{"shown": true, "val_id": "v_opcrgae" },
{"shown": true, "val_id": "v_wytnecs" }
}}
Думаю, мне нужна «группа по», но я не знаю, как создать столбец json.
Я пробовал:
SELECT json_object(array_agg(id), array_agg(val))
Но у меня ошибка:
Error in SQL statement: AnalysisException: Undefined function: 'json_object'.
This function is neither a registered temporary function nor a permanent function registered in the database 'default'
Надеюсь, что кто-нибудь может мне в этом помочь.
спасибо