#sql #apache-spark #snowflake-cloud-data-platform
#sql #apache-spark #snowflake-cloud-data-platform
Вопрос:
Я пытаюсь преобразовать некоторый spark SQL в Snowflake:
Spark: выберите map (
’01_dc_res’, status_01_dc_res_sec, ’02_sent_to_dc’, status_02_sent_to_dc_sec, ’03_ready_for_backroom_pick_store’, status_03_ready_for_backroom_pick_store_sec) в качестве map1 из t разнесения бокового обзора (map1) abc в качестве отображаемого столбца
Вот изображение того, как это выглядит при использовании Spark SQL в Hive:
Вот как это выглядит в необработанных данных:
Snowflake: ?
Любая помощь будет принята с благодарностью.
Я в основном ищу способ поворота данных, чтобы было больше строк и меньше столбцов.
Комментарии:
1. Пожалуйста, предоставьте минимальный воспроизводимый пример, например, некоторые исходные данные и как вы хотите, чтобы результат был структурирован
2. @NickW спасибо, просто добавил несколько фотографий, чтобы дать лучшее представление
3. Фотографии привели меня в большее замешательство, чем я был до их просмотра. Можете ли вы вставить некоторый код и объяснение?
4. Я согласен — очень смущен! Пожалуйста, сообщите нам, каковы ваши исходные данные, код / логика для их преобразования и как они должны выглядеть в конце процесса
5. мои извинения, возможно, я тоже запутался, пожалуйста, проверьте последнее редактирование и дайте мне знать, если оно станет более понятным, спасибо @NickW
Ответ №1:
Используйте функцию unpivot. Оба имеют одинаковую функциональность.
Например: unpivot(значение для ввода ключа (status_01_dc_res_sec, status_02_sent_to_dc_sec, status_03_ready_for_backroom_pick_store_sec))
Комментарии:
1. Пожалуйста, добавьте дополнительные подробности, чтобы расширить свой ответ, например, ссылки на рабочий код или документацию.
2. Например: unpivot(значение для ввода ключа (status_01_dc_res_sec, status_02_sent_to_dc_sec, status_03_ready_for_backroom_pick_store_sec))