当前位置: 首页 > 知识库问答 >
问题:

Flink bucketing接收器使用存储点重新启动导致数据丢失

聂永怡
2023-03-14

我正在使用从Kafka到HDFS的Flink bucketing水槽。Flink的版本是1.4.2

我发现每次重新启动作业时都会有一些数据丢失,即使使用保存点也是如此

我发现如果我设置writer SequenceFile,这个问题可以解决。挤压型。记录而不是序列文件。挤压型。块当Flink试图保存检查点时,有效长度似乎与实际长度不同,实际长度应该包括压缩数据

但如果不能使用压缩类型,则可能会出现问题。由于磁盘使用情况而阻塞。重新启动作业时,如何使用块压缩防止数据丢失

这是Flink已知的问题吗?或者有人知道如何解决这个问题?

共有1个答案

陶裕
2023-03-14

Flink的BucketingSink不再被推荐使用。相反,社区建议使用Flink 1.6.0引入的StreamingFileSink

 类似资料:
  • 我已经实现了这样的接收器(在清单文件中) 如果电话的状态改变,则调用记录器广播接收器。一切都很好。但是,如果我重新启动设备,接收器永远不会被调用,直到我运行我的应用程序。 我需要在启动后注册(不调用)这个接收器。 许多感谢, [编辑] 我通过向清单文件添加以下接收者解决了这个问题 不过,我没有在java代码中注册RecorderBroadcastReceiver。我只加了上面的接收器。这意味着从应

  • 根据文档,来自的room实例应该保存的数据是persist。但还是迷路了。我的项目必须数据库 第一个数据库 @database(实体=[foodmodel::class],version=4,exportSchema=false)抽象类FoodDatabase:RoomDatabase(){ 第二数据库 抽象类MyFoodDatabase:RoomDatabase(){abstract val M

  • 我的应用程序的MainActivity从用户那里获取一些数据来计算他/她的BMI和BMR,并将这些数据用于应用程序的主要部分,即另一个名为DailyActivity的活动。我希望这样,用户第一次启动应用程序时,它会要求提供数据。但在第一次之后,每次用户启动应用程序时,都应使用之前输入的数据直接启动DailyActivity。(按下后退按钮也不应显示MainActivity)。我如何实现这一点?

  • 问题内容: 简而言之,问题 :执行带有子聚合的查询时,内部聚合为什么在某些情况下会丢失数据? 详细问题 :我有一个带有子聚合(存储桶中的存储桶)的搜索查询,如下所示: 如果我执行此查询,对于某些external_docs,我不会收到与之关联的所有inner_docs。在下面的输出中,有三个用于外部文档key_1的内部文档。 现在,我添加了一个查询,以单选一个反而应该在前20个中使用的externa

  • 我需要你的帮助。有一个Vue应用程序,我使用vuex商店和Vue路由器。问题是,我从API调用中获取存储数据,如果我从其他地方导航到页面,用户数据已经存储在存储中,并且在组件中,我可以使用getter接收到的数据。但是,如果我在create或mount方法中重新加载页面,则getter不包含任何数据。但如果在Vuex开发工具中查看,我可以看到fetchedd数据。如何修复此行为?