【问题标题】:Google Data Fusion reading files from multiple sub folders in a bucket and need to place in another folder in side sub folderGoogle Data Fusion 从存储桶中的多个子文件夹读取文件,需要放置在侧子文件夹中的另一个文件夹中
【发布时间】:2020-11-18 23:01:29
【问题描述】:

例子

相同/学生/土地/压缩文件 sameer/student/pro/未压缩文件

sameer/员工/土地/压缩文件 sameer/employee/pro/未压缩文件

在上面的示例中,我需要从存在于不同子目录中的所有 LAND 文件夹中读取文件,并需要对其进行处理并将它们放置在 PRO 文件夹中的相同子文件夹中。

为此,我使用了两个 GCS 节点,一个来自源,另一个来自接收器。

在 GCS 源中,我提供了路径 gs://sameer/ ,它从所有子文件夹中读取文件并将它们合并到一个文件中,并将其放置在接收器路径中。


除了输出,所有文件都应该放在我从中获取的子目录中。

可以通过对每个文件夹单独运行管道来实现异常输出

我希望这可以通过单个管道运行来实现

【问题讨论】:

    标签: google-cloud-data-fusion


    【解决方案1】:

    您的用例似乎只是在移动文件。在这种情况下,我建议使用 Action 插件 GCS Move 或 GCS Copy。

    【讨论】:

    • 嗨 Edwin,在我的情况下,我在一个文件夹中加密了文件,解密后我将移动到另一个文件夹
    【解决方案2】:

    您尝试执行的任务似乎无法在单个数据融合管道中完成,至少在撰写本文时是这样。

    在管道中,必须连接所有源和接收器。否则会报如下错误:

    'DAG 无效。有一个由舞台组成的岛屿......'

    这意味着不可能在同一管道内并行处理多个解压缩任务,每个文件夹一个文件。

    同时,如果您要使用类似以下架构的东西,输出将被聚合并复制到所有接收器:

    最后,我想说的是,您可以在多个源和多个链接之间并行执行任务的唯一情况是使用多个数据库表时。通过以下插件 (2) 和 (3),您可以处理来自多个表输入的数据并将输出导出到多个表。如果您想查看所有可用的数据融合插件,请查看以下链接 (4)。

    【讨论】:

      猜你喜欢
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 2018-04-08
      • 2020-05-19
      • 2018-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多