Apache Beam - 跳过管道步骤

2023-12-05

我正在使用 Apache Beam 设置一个由 2 个主要步骤组成的管道:

  • 使用 Beam Transform 来转换数据
  • 将转换后的数据加载到 BigQuery

管道设置如下所示:

myPCollection = (org.apache.beam.sdk.values.PCollection<myCollectionObjectType>)myInputPCollection
                .apply("do a parallel transform"),
                     ParDo.of(new MyTransformClassName.MyTransformFn()));

 myPCollection
    .apply("Load BigQuery data for PCollection",
            BigQueryIO.<myCollectionObjectType>write()
            .to(new MyDataLoadClass.MyFactTableDestination(myDestination))
            .withFormatFunction(new MyDataLoadClass.MySerializationFn())

我看过这个问题:

Apache Beam:跳过已构建的管道中的步骤

这表明我可以按照步骤 1 中的并行转换以某种方式动态更改可以将数据传递到的输出。

我该怎么做呢?不知道如何选择通过或不通过myPCollection从步骤1到步骤2。如果对象在myPCollection从步骤 1 开始是null.


你只是不从你的MyTransformClassName.MyTransformFn当您不想在下一步中使用它时,例如如下所示:

class MyTransformClassName.MyTransformFn extends...
  @ProcessElement
  public void processElement(ProcessContext c, ...) {
    ...
    result = ...
    if (result != null) {
       c.output(result);   //only output something that's not null
    }
  }

这样空值就不会到达下一步。

See the ParDo指南部分了解更多详细信息:https://beam.apache.org/documentation/programming-guide/#pardo

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apache Beam - 跳过管道步骤 的相关文章

随机推荐

  • 在 C# 中向变量名称添加数字

    我的问题有点像这里的问题 如何在 C 中动态命名变量 然而它有点不同所以我想知道它是否可能 我正在尝试从 settings 文件中读取一堆字符串 我将它们全部命名为 Time1 Time2 Time3 等 我希望用户能够向文件添加更多时间
  • Swift 中的重复字符串

    我的任务是创建一个函数 该函数接受字符串和 int 两个参数 该函数将返回一个字符串 该字符串重复字符串参数 int 的次数 这是我想到的 但出现错误 顺便说一句 这是我在工作时在 CodeCardio 上做的 所以我无法在 Xcode 中
  • ATL CString 到字符数组的转换

    我想转换一个CString into a char 有人告诉我该怎么做吗 我的代码是这样的 CString strCamIP1 T char g acCameraip 16 17 strCamIP1 theApp GetProfileStr
  • 我如何知道 getScript Ajax 调用何时完成?

    我正在使用 jQuerygetScript将 X 数量的 js 文件加载到我的页面中 每个 JS 页面都有一个 AJAX 调用 用于从数据库获取数据 我正在使用 done方法上getScript查看所有文件何时加载 但我需要等到所有 AJA
  • Rails:重命名控制器和相应的模型

    有没有一种简单的方法可以重命名我的应用程序中的控制器和模型以及相应代码中的所有实例 我正在使用 textmate 这是否像使用替换功能并将 Post 一词替换为 Report 一样简单 您需要更改名称控制器以及相关的Model Views
  • Graphviz/Dot - 如何用独特的颜色标记树上的所有叶子?

    我有一个将图形打印为 dot 文件的脚本 我想用独特的颜色突出显示不同程度的所有顶点 Graphviz 可以吗 所以 我对以下内容感兴趣 For each i degree vertex use color i 作为一个特例 如何用独特的颜
  • 从 Windows 窗体到 WPF [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我已经有很长时间的经验了Windows 窗体开发人员 但现在是时候搬到WPF因为一个新的 WPF 项目即将到来 而我只有很短的准备时间来准备学习 W
  • Grails GORM:如何创建复合主键并将其用于表关系?

    我有两个表 其中一个 旧表 A 有两个应用作复合外键的字段 另一个 新表 B 应使用复合主键作为复合外键each row A has one row B关系 我如何用 GORM 来描述这些表 到目前为止 我已经能够创建一个反映旧表的域类 A
  • Python从数据中删除异常值

    我有一个数据框如下 ID Value A 70 A 80 B 75 C 10 B 50 A 1000 C 60 B 2000 我想按 ID 对这些数据进行分组 从分组数据中删除异常值 我们从箱线图中看到的异常值 然后计算平均值 So far
  • iPhone NSDate 例如。下周五

    我想创建一个函数来得出下周五的日期 但我没有计划如何去做 有人给我一个好的提示吗 例如 使用 NSDate 获取当前日期 然后使用 NSCalendar 中的 components gt fromDate 获取 NSDateComponen
  • 如何使用 Database First 创建模型后设置由实体框架中的数据库生成的 id 键

    我在 Web API 项目中使用实体框架 我已经从现有数据库 MySQL 创建了类和模型 因此我基本上使用 EF DbContextGenerator 从 EDMX 模型生成类 读取操作工作正常 但我现在想要开始添加功能以将记录添加到数据库
  • 未从 Github 语言统计中排除的路径

    我已经读过相关的 SO 线程here and here 以及 Github 语言学家手动超控 但我似乎无法从语言统计中排除一些顶级目录 在当前的最新版本中 这个仓库显示了 HTML 代码的优势 单击 HTML 详细信息 会列出两个 HTML
  • 当基础数据更改时,GridView 内容不会更新

    所以我有一个包含两个控件的 ASP NET 页面 a GridView显示来自 a 的行SqlDataSource 并且用户可以在其中选择一行 a DetailsView用户可以在其中看到and edit所选行的值 The DetailsV
  • 将 CharFilter 与 Lucene 4.3.0 的 StandardAnalyzer 结合使用

    我正在尝试添加一个CharFilter to my StandardAnalyzer 我的目的是从我索引的所有文本中删除标点符号 例如 我想要一个前缀查询 pf 来匹配 P F Changs 或 zara s 来匹配 Zara s 看来这里
  • 如何在 Visual Studio 2008 中使用 .a lib 文件?

    所以我将一些 C C 库编译成 a 文件 图书馆是FFmpeg 52 任何人都可以为我提供有关如何在 Visual Studio 2008 中使用它的详细说明 如何将其链接到 VS 以便编译器找到它等等 这可能有用 从 MinGW 静态库
  • Google BigQuery 中的查询表出现错误“访问被拒绝:BigQuery BigQuery:通配文件模式时权限被拒绝”。

    我是 Google BigQuery 的新手 如果我的问题有点简单 请原谅我 我先澄清一下这个问题的背景 Account1 创建一个存储桶 多区域 和外部表 Account1可以成功查询外部表数据 授予 Account2 以下项目角色 Ac
  • 在Python中从视频源创建视频缩略图

    我有一个视频文件的 url 我想生成每个视频源 url 的缩略图 我正在使用 Django 我的应用程序这样做 1 Crawl the some webpage 2 Extract all the video link from it 3
  • 对数组中的值从小到大进行排序/排序

    我有一个这样的公式 ArrayFormula sort INDEX B 1 B 10 MATCH E1 A 1 A 10 0 in columns A B a 1 b 2 c 3 d 4 e 5 f 6 g 7 h 8 i 9 j 10 a
  • 应用程序上下文加载两次

    我正在使用 Tomcat 7 和 Eclipse 使用 Struts 3 编写一个 Web 应用程序 当我启动 Tomcat 时 上下文似乎被加载了两次 日志文件显示 applicationContext xml 被读取了两次 我在 Tom
  • Apache Beam - 跳过管道步骤

    我正在使用 Apache Beam 设置一个由 2 个主要步骤组成的管道 使用 Beam Transform 来转换数据 将转换后的数据加载到 BigQuery 管道设置如下所示 myPCollection org apache beam