apache-flink相关内容

在实践中,迷你批处理与实时流之间有什么区别(不是理论上的区别)?

在实践中,迷你批处理与实时流之间有什么区别(不是理论上的区别)?从理论上讲,我了解到迷你批处理是在给定的时间范围内进行批处理,而实时流更像是在数据到达时执行某些操作,但是我最大的问题是为什么不使用带有epsilon时间帧(例如一毫秒)的迷你批处理?想了解为什么一个解决方案比其他解决方案有效的原因? 我最近遇到了一个例子,其中迷你批处理(Apache Spark)用于欺诈检测,而实时流处理(A ..

在Flink中的运营商之间共享状态

我想知道Flink是否有可能在运营商之间共享状态. 例如,说我在操作员上按键进行分区,并且我需要在分区C内处于分区A的一种状态(出于某种原因)(图1.a),或者我需要下游运算符F中运算符C的状态(图1.b). 我知道可以将broadcast记录到所有分区.因此,如果在记录中包含运算符的内部状态,则可以与下游运算符共享您的内部状态. 但是,这可能是昂贵的操作,而不是简单地让op1专门要 ..
发布时间:2020-07-10 01:48:52 其他开发

Apache Flink广播状态被刷新

我正在使用广播模式来连接两个流,并将数据从一个流读取到另一个流.代码看起来像这样 case class Broadcast extends BroadCastProcessFunction[MyObject,(String,Double), MyObject]{ override def processBroadcastElement(in2: (String, Double), ..
发布时间:2020-07-10 00:17:05 其他开发

Flink:是否声明跨流访问?

我有一个流将要存储状态,我希望另一个流可以检索该状态.这可能吗? 我在单元测试中尝试过似乎不起作用. 解决方案 当前不可能有不同的流共享状态.甚至属于同一流的不同运算符也无法共享状态. 您唯一可以使用的方法是使用静态字段在不同线程之间共享状态,从而在流之间共享状态.但这仅在不同的任务由相同的TaskManager执行并因此在同一JVM中运行的情况下有效. ..
发布时间:2020-07-10 00:14:42 其他开发

在Flink 1.7.2中接收异步异常,使用KeyedProcessFunction和RocksDB状态后端进行状态处理

我已经使用Flink 1.7.2和Kafka 2.2作为消费者和生产者编写了一个简单的单词计数应用程序.我对Kafka生产者使用Exactly-Once语义,对状态处理使用KeyedProcessFunction,对状态保持使用MapState,并使用增量检查点作为RocksDB作为状态后端. 当我从IntelliJ运行它时,该应用程序运行良好,但是当我将其提交到本地Flink群集时,我收到 ..
发布时间:2020-07-06 02:24:15 其他开发

EMR上S3的外部检查点

我正在尝试为我的Flink程序部署生产集群.我正在使用安装了Flink 1.3.2的标准hadoop-core EMR群集,并使用YARN来运行它. 我正在尝试将RocksDB配置为将检查点写入S3存储桶.我正在尝试浏览以下文档:java.lang.NoSuchMethodError: org.apache.hadoop.conf.Configuration.addResource(Lorg ..
发布时间:2020-07-06 02:21:05 其他开发

Flink SQL:投射时间中跳跃窗口上呈指数衰减的移动平均值

现在我们在Flink中拥有带花式窗口的SQL,我正在尝试使用“在Table API和SQL的未来Flink版本中可能实现的功能"所引用的递减移动平均线.从他们的 SQL路线图/预览2017-03帖子中: table .window(Slide over 1.hour every 1.second as 'w) .groupBy('productId, 'w) .select( ..

如何在Apache Flink中创建外部目录表

我试图创建和ExternalCatalog在Apache Flink表中使用.我创建并添加到Flink表环境(此处为官方文档).由于某种原因,“目录"中存在唯一的外部表,因此在扫描过程中找不到该表.我在上面的代码中错过了什么? val catalogName = s"externalCatalog$fileNumber" val ec: ExternalCatalog = getEx ..
发布时间:2020-06-15 18:51:00 其他开发

Flink:Rowtime属性一定不能在常规联接的输入行中

我想使用flink SQL API,将多个表连接在一起,并在一段时间内进行一些计算. 我有3个来自CSV文件的表,以及1个来自Kafka的表. 在Kafka表中,我有一个要用于时间窗口操作的字段timestampMs. 为此,我执行了以下代码: reamExecutionEnvironment env = ... ; StreamTableEnvironment tableEnv = ..
发布时间:2020-06-15 18:50:57 Java开发

Apache Flink:运行许多作业时的性能问题

如果Flink SQL查询数量众多(以下100个),则Flink命令行客户端将在Yarn群集上失败,并显示"JobManager在600000毫秒内未响应",即该作业从未在该群集上启动. 在最后一个TaskManager启动之后,JobManager日志什么都没有,除了 调试日志与"ID为5cd95f89ed7a66ec44f2d19eca0592f7的作业不 在JobManager中找到" ..
发布时间:2020-06-15 18:50:52 其他开发

Apache Flink:如何启用"upsert模式"动态表?

在Flink文档和官方Flink博客中,我已经多次提及基于动态键的"upsert模式" .但是,我没有看到有关如何在动态表上启用此模式的任何示例/文档. 示例: 博客文章: 通过更新模式在流上定义动态表时,我们可以在表上指定唯一键属性.在这种情况下,将对key属性执行更新和删除操作.下图显示了更新模式. 文档: 要转换为 upsert流的动态表,需要(可能是复合的)唯 ..
发布时间:2020-06-15 18:50:44 其他开发

为什么Flink SQL对所有表使用100行的基数估计?

我不确定为什么在这个例子. 我对Flink基本代码进行了更深入的研究,并检查了方解石评估/估算对象中查询的行数时是否进行了检查.由于某种原因,对于任何表格源,它始终返回 100 . 实际上,在Flink中,在计划计划创建过程中,对于每个转换后的规则,它称为 TableEnvironment .runVolcanoPlanner.计划者尝试通过调用我通过创建失败的为什么会这样?有人对此问 ..
发布时间:2020-06-15 18:50:29 Java开发

Flink 1.2无法在HA群集模式下启动

我已经在HA群集模式下安装了Flink 1.2,在本地安装了2个JobManagers 1个TaskManager,但它一直拒绝以这种模式实际启动 “正在启动群集."消息而不是 “在ZooKeeper仲裁中以2个主节点和1个对等节点启动HA群集." 显然,在bin/config.sh中,它读取如下配置: # High availability if [ -z "${HIGH_AVAIL ..
发布时间:2020-06-15 18:50:24 其他开发

TaskManager的Flink状态后端

我有一个Flink v1.2设置,其中包含1个JobManager,2个TaskManager,每个均在其自己的VM中.对于上述每个主机,我将状态后端配置为文件系统,并将其指向本地位置(state.backend.fs.checkpointdir:file:///home/ubuntu/Prototype/flink/flink-checkpoints).我将并行度设置为1,每个taskanage ..
发布时间:2020-06-15 18:50:22 其他开发