Data Fusion Pipeline дает нам один или несколько файлов деталей на выходе при синхронизации в GCS Bucket. Мой вопрос в том, как мы можем объединить эти файлы деталей в один и дать им осмысленное имя?
Сшить файлы деталей в один с произвольным именем
Ответы (1)
Data Fusion
преобразования выполняются в Dataproc
кластерах, выполняя Spark
или MapReduce
задания. Ваш окончательный результат разбивается на множество файлов, потому что задания разбивают ваши данные на разделы HDFS (это поведение по умолчанию для Spark / Hadoop).
При написании сценария Spark вы можете манипулировать этим поведением по умолчанию и производить разные результаты. Однако Data Fusion был построен для абстрагирования уровня кода и предоставления вам опыта использования полностью управляемого интегратора данных. Использование разделенных файлов не должно быть проблемой, но если вам действительно нужно их объединить, я предлагаю вам использовать следующий подход:
В верхней части Pipeline Studio нажмите Hub - ›Plugins, найдите Dynamic Spark Plugin, нажмите Deploy strong >, а затем в Готово (файл JAR можно игнорировать)
Вернувшись к конвейеру, выберите Spark в разделе раковины.
Замените плагин GCS плагином Spark.
В своем подключаемом модуле Spark установите для Компилировать во время развертывания значение false и замените код некоторым кодом Spark, который делает то, что вы хотите. Например, приведенный ниже код жестко запрограммирован, но работает:
def sink(df: DataFrame) : Unit = { new_df = df.coalesce(1) new_df.write.format("csv").save("gs://your/path/") }
Эта функция получает данные из вашего конвейера в виде фрейма данных. Функция coalesce сокращает количество разделов до 1, и последняя строка записывает его в GCS.
Разверните свой конвейер, и он будет готов к запуску