如何正确处理自定义MapFunction中的错误?

2024-04-26

我已经实施了MapFunction对于我的 Apache Flink 流程。它正在解析传入元素并将其转换为其他格式,但有时会出现错误(即传入数据无效)。

我看到两种可能的处理方法:

  • 忽略无效元素,但似乎我无法忽略错误,因为对于任何传入元素,我必须提供传出元素。
  • 将传入元素拆分为有效和无效,但似乎我应该为此使用其他函数。

所以,我有两个问题:

  1. 如何正确处理我的错误MapFunction?
  2. 如何正确实现这样的转换函数呢?

你可以使用FlatMapFunction代替MapFunction。这将允许您仅发出有效的元素。下面展示了一个示例实现:

input.flatMap(new FlatMapFunction<String, Long>() {
    @Override
    public void flatMap(String input, Collector<Long> collector) throws Exception {
        try {
            Long value = Long.parseLong(input);
            collector.collect(value);
        } catch (NumberFormatException e) {
            // ignore invalid data
        }
    }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何正确处理自定义MapFunction中的错误? 的相关文章

随机推荐

  • Git 和 Dropbox - 本地存储库

    我阅读了大量有关 Dropbox 和 Git 功能结合的帖子并观看了许多视频 其中一个线程是这样的 有效地结合使用 Git 和 Dropbox https stackoverflow com questions 1960799 using
  • jQuery 中的“#”字符(数字符号)是什么意思?

    我是 Javascript 新手 我正在尝试理解一些代码 我不明白 也找不到任何有关的文档 sign function searchTerm autocomplete searchTerm 是什么意思 现在 可能意味着私有实例字段 http
  • 编译器“何时”隐式声明默认构造函数?

    我知道如果我们不声明它 编译器将生成一个默认构造函数 何时 是我感到困惑的一点 A class Base int main return 0 B class Base int main Base b Declare a Base objec
  • java程序计算XIRR而不使用excel或任何其他库

    我的应用程序必须计算XIRR 但我不能使用excel 因为它在Linux上运行 任何人都可以共享逻辑或java代码来计算XIRR而不使用excel 正如帖子中所述 C 中的 xirr 计算 https stackoverflow com q
  • Django - 从单独的应用程序导入视图

    我是 Django 新手 正在阅读 Holovaty 和 Kaplan Moss 所著的 Django Book 我有一个名为 mysite 的项目 其中包含两个名为 books 和 contact 的应用程序 每个都有自己的 view p
  • Selenium Python:如何在点击后等待页面加载?

    我想在点击后获取页面的页面源 然后使用 browser back 函数返回 但是 Selenium 不会让页面在点击后完全加载 并且 JavaScript 生成的内容不会包含在该页面的页面源中 element i click Need to
  • 在分页数之间添加点

    我已经用 PHP 和 AJAX 为表格编写了分页代码 每页将显示表格的 8 行 到这里为止一切正常 我现在需要的是使分页看起来像一系列数字和它们之间的点 如下所示 1 2 3 27 28 29 我有两个用于分页的文件 conf php
  • Ruby 请求 https - “在‘read_nonblock’中:连接被对等方重置 (Errno::ECONNRESET)”

    这是我的代码 domain http www google com url URI parse https graph facebook com fql q SELECT 20url normalized url 20FROM 20link
  • java.lang.NoSuchMethodError: 'com.google.common.collect.ImmutableMap 尝试使用 Chromedriver 和 Maven 执行测试时出错

    我是硒测试的新手 目前正在使用 Maven 观看一些 YouTube 视频 今天 我尝试了一些代码并且工作正常 但是当访问一个商店页面并尝试搜索产品时 它给我 访问被拒绝 消息 于是我尝试了几种打开chrome而不是chromedriver
  • 根据 Web.config Transform 中的子节点值选择节点

    我的 Web 配置中有以下 XML 我想使用 web config 转换选择要删除的属性 但我想根据其中一个子元素的值选择要删除的元素 我的 web config 是这样的
  • 执行bash脚本时如何显示行号

    我有一个测试脚本 其中有很多命令并将生成大量输出 我使用set x or set v and set e 因此当发生错误时脚本将停止 但我还是很难定位到哪一行执行停止了 从而定位问题所在 有没有一种方法可以在每行执行之前输出脚本的行号 或者
  • 使用简单注入器进行方法级属性拦截

    借助 Unity 我能够快速添加基于属性的拦截 如下所示 public sealed class MyCacheAttribute HandlerAttribute ICallHandler public override ICallHan
  • 城堡单轨铁路和 ELMAH

    有人成功使用 Castle MonoRail 和 ELMAH 吗 我们使用许多 Resuces 向用户提供友好的错误消息 但如果我们这样做 异常永远不会到达 ELMAH 因为 MonoRail 救援会拦截它们 理想情况下 我们希望用户看到救
  • 为什么 (1 in [1,0] == True) 的计算结果为 False?

    当我在寻找答案时这个问题 https stackoverflow com questions 9201445 python best way to keep track of results from loop 我发现我不明白自己的答案 我
  • IE7 Z-Index 分层问题

    我隔离了 IE7 的一个小测试用例z indexbug 但不知道如何修复 我一直在玩z index整天 出什么问题了z index in IE7 测试CSS input border 1px solid 000 div border 1px
  • Python在Conda环境中,但在Windows虚拟环境中尚未激活

    我创建了一个Windows 10 Python虚拟环境 env3 7 3 当我打开在虚拟环境中激活的cmd窗口时 在虚拟环境中启动Python时收到以下警告消息 env3 7 3 C Users redex OneDrive Documen
  • 我应该不断地 open() 和 close() 我的 SQL 数据库还是让它保持打开状态?

    我正在创建一个使用 SQL 数据库来存储数据的应用程序 根据应用程序的设计方式 它将每 3 分钟左右更新一次新数据 具体取决于应用程序运行时的用户操作 在我看到的教程中 他们建议您在更改数据库后关闭数据库 就资源而言 这是 昂贵的 是否最好
  • 在 Angular-UI 模式中显示谷歌地图?

    尝试在 Angular UI 模式中加载简单的谷歌地图 然而没有运气 数据传递得很好 但在地图方面没有任何作用 请帮忙 modalInstance opened then function var mapOptions center new
  • 显示mysql中存储路径的图像

    我已将图像上传到文件夹中并将路径存储到 MySQL 数据库中 路径已存储 图像已成功插入文件夹 但我的问题是当我显示存储在数据库中的路径中的图像时 它没有显示 当我回显图像路径时 它会显示图像路径 我检查了浏览器设置 一切正常 这是我的代码
  • 如何正确处理自定义MapFunction中的错误?

    我已经实施了MapFunction对于我的 Apache Flink 流程 它正在解析传入元素并将其转换为其他格式 但有时会出现错误 即传入数据无效 我看到两种可能的处理方法 忽略无效元素 但似乎我无法忽略错误 因为对于任何传入元素 我必须