当我访问Apache Spark Streaming网站时,我看到一句话:
Spark Streaming可以轻松构建可扩展的容错流应用程序.
在Apache Flink网站上,有一句话:
Apache Flink是一个用于可扩展批处理和流数据处理的开源平台.
什么意思streaming application和batch data processing,stream data processing?你能举一些具体的例子吗?它们是否针对传感器数据设计?
大家.我尝试在Flink中引用我的公司jar,将其复制到所有任务管理器中的$ FLINK/lib,但是失败了.而且我不想打包一个肥胖的罐子,这个罐子太沉重而且浪费时间.我认为第一种方法也不是一个好主意,因为我必须管理整个集群中的jar.谁知道如何解决这个问题?任何建议将不胜感激.
我在Flink独立运行我的应用程序,但无法在控制台中找到它的sysout FLINK_HOME/log.
有谁知道我在哪里可以看到我的应用程序调试日志?以及如何知道我的应用程序运行在哪些TM上?
我想设置Flink,以便将数据流从Apache Kafka转换并重定向到MongoDB.出于测试目的,我建立在flink-streaming-connectors.kafka示例(https://github.com/apache/flink)之上.
Faf正在为Kafka流提供正确的红色,我可以映射它们等等,但是当我想将每个收到的和转换后的消息保存到MongoDB时会出现问题.我发现的关于MongoDB集成的唯一例子是来自github的flink-mongodb-test.不幸的是,它使用静态数据源(数据库),而不是数据流.
我相信MongoDB应该有一些DataStream.addSink实现,但显然没有.
实现它的最佳方法是什么?我是否需要编写自定义接收器功能或者我可能缺少某些东西?也许它应该以不同的方式完成?
我没有任何解决方案,所以任何建议将不胜感激.
下面是一个例子,我正在获得什么作为输入以及我需要存储为输出.
Apache Kafka Broker <-------------- "AAABBBCCCDDD" (String)
Apache Kafka Broker --------------> Flink: DataStream<String>
Flink: DataStream.map({
return ("AAABBBCCCDDD").convertTo("A: AAA; B: BBB; C: CCC; D: DDD")
})
.rebalance()
.addSink(MongoDBSinkFunction); // store the row in MongoDB collection
Run Code Online (Sandbox Code Playgroud)
正如您在本示例中所看到的,我主要使用Flink进行Kafka的消息流缓冲和一些基本的解析.
Apache Flink中a JoinFunction和a有什么区别CoGroupFunction?语义和执行有何不同?
更具体地说,Hazelcast Jet解决了Flink无法解决的问题(同样好),反之亦然?
有人可以帮我理解Apache Flink的Checkpoints和Savepoints之间的区别.
虽然我阅读文档,但无法理解差异!:■
这是在 Amazon Kinesis Data Analytics Flink 环境中运行的 Flink 1.13.2。
该应用程序在 Kafka 主题上运行。当主题的流量较小时,该应用程序运行良好,当流量较大时,我收到此错误。如何排除故障、调整和修复?
我看到类似的问题,但这在旧版本的 Flink 中显然是一个单独的问题: Apache Flink - WordCount - NoResourceAvailableException
异常跟踪是:
2021-12-30 18:16:45
java.util.concurrent.CompletionException: org.apache.flink.runtime.jobmanager.scheduler.NoResourceAvailableException: Could not acquire the minimum required resources.
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:632)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
at org.apache.flink.runtime.jobmaster.slotpool.DeclarativeSlotPoolBridge$PendingRequest.failRequest(DeclarativeSlotPoolBridge.java:535)
at org.apache.flink.runtime.jobmaster.slotpool.DeclarativeSlotPoolBridge.cancelPendingRequests(DeclarativeSlotPoolBridge.java:128)
at org.apache.flink.runtime.jobmaster.slotpool.DeclarativeSlotPoolBridge.failPendingRequests(DeclarativeSlotPoolBridge.java:362)
at org.apache.flink.runtime.jobmaster.slotpool.DeclarativeSlotPoolBridge.notifyNotEnoughResourcesAvailable(DeclarativeSlotPoolBridge.java:351)
at org.apache.flink.runtime.jobmaster.JobMaster.notifyNotEnoughResourcesAvailable(JobMaster.java:824)
at jdk.internal.reflect.GeneratedMethodAccessor133.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleRpcInvocation(AkkaRpcActor.java:301)
at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleRpcMessage(AkkaRpcActor.java:212)
at org.apache.flink.runtime.rpc.akka.FencedAkkaRpcActor.handleRpcMessage(FencedAkkaRpcActor.java:77)
at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleMessage(AkkaRpcActor.java:158)
at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:26)
at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:21)
at scala.PartialFunction.applyOrElse(PartialFunction.scala:123)
at scala.PartialFunction.applyOrElse$(PartialFunction.scala:122)
at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:21)
at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171) …Run Code Online (Sandbox Code Playgroud) 在我的项目中,我想在执行流之前访问Flink User Classloader.在流执行之前,我一直在实例化我自己的类加载器以反序列化类(尽量避免与多个类加载器相关的问题).
然而,我正在进一步推进更多的问题,我不得不写(坏)代码,以避免这个问题.
如果我可以访问Flink用户类加载器并使用它,这可以解决,但是在"RichFunctions"之外我没有看到这样做的机制(https://ci.apache.org/projects/flink/flink-docs -stable/api/java/org/apache/flink/api/common/functions/RichFunction.html),它们要求流运行.
这里的任何指导将不胜感激
apache-flink ×10
apache-spark ×2
hadoop ×2
apache-kafka ×1
apache-tez ×1
java ×1
mongodb ×1
scala ×1
tez ×1