Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Kubernetes Vs Spark Vs Spark on Kubernetes_Apache Spark_Kubernetes - Fatal编程技术网

Apache spark Kubernetes Vs Spark Vs Spark on Kubernetes

Apache spark Kubernetes Vs Spark Vs Spark on Kubernetes,apache-spark,kubernetes,Apache Spark,Kubernetes,因此,我有一个用例,在这个用例中,我将以每分钟1000条的速度从卡夫卡流式传输记录。我只需要将这些记录以原始形式转储到一个无sql数据库或类似于数据湖的地方 我用了两种方法 方法1 —————————— 在java中创建kafka使用者,并在kubernetes中将其作为三个不同的容器运行。因为所有的容器都在同一个卡夫卡消费群体中,所以它们都有助于阅读同一卡夫卡主题并将数据转储到数据湖中。对于我的工作量来说,这非常快 方法2 ——————————- 然后,我创建了一个spark集群和相同的jav

因此,我有一个用例,在这个用例中,我将以每分钟1000条的速度从卡夫卡流式传输记录。我只需要将这些记录以原始形式转储到一个无sql数据库或类似于数据湖的地方 我用了两种方法

方法1 ——————————
在java中创建kafka使用者,并在kubernetes中将其作为三个不同的容器运行。因为所有的容器都在同一个卡夫卡消费群体中,所以它们都有助于阅读同一卡夫卡主题并将数据转储到数据湖中。对于我的工作量来说,这非常快

方法2 ——————————- 然后,我创建了一个spark集群和相同的java逻辑来读取kafka并将数据转储到data lake中

观察 ———————————- kubernetes的性能相当于在集群模式下运行的spark作业的性能

所以我的问题是,在kubernetes上使用spark的真正用例是什么,就像我在kubernetes上使用spark一样? spark是否只会增加和释放更重的工作量,比如说每分钟50000条记录,或者在将数据转储到接收器之前需要对数据进行实时处理?
Spark的相关成本更高,因此我需要确保只有在其可扩展性优于kuberbetes解决方案的情况下才能使用Spark

如果您的案例仅用于归档/快照/转储记录,我建议您仔细查看

如果您需要处理流式处理的记录,例如聚合或加入流,则Spark将加入游戏。对于这种情况,您也可以查看

这些框架中的每一个都有其自身的权衡和性能开销,但无论如何,使用为此而开发的工具而不是开发自己的消费者,可以节省大量的开发工作。此外,这些框架已经支持大多数故障处理、扩展和可配置语义。此外,他们有足够的配置选项,可以根据您可以想象的大多数情况调整行为。只要选择可用的集成,您就可以开始了!当然,也要小心开源bug


希望能有所帮助。

只有在您有很多专业知识的情况下,才建议您在Kubernetes中运行卡夫卡,因为Kubernetes不知道它是Spark的宿主,Spark也不知道它在Kubernetes中的运行,您需要仔细检查您决定运行的每个功能

对于你的工作量,我建议你坚持使用Kubernetes。弹性、性能、监控工具和调度功能,加上巨大的社区支持,从长远来看,这些都是很好的补充


Spark是一个开源、可扩展、大规模并行的内存执行引擎,用于分析应用程序,因此当您的负载变得更需要处理时,它将真正激发您的热情。如果您只是在转储数据,那么它就没有太大的上升空间,所以请保持简单。

对于我的工作量来说,这非常有效。问:那么你预计销量会增加多少?未来有多远?等待它真正成为一个问题的代价是什么?在一段时间内,比如说2年后,它可能会成长10倍。但是,如果kubernetes集群中的资源利用率提高,kubernetes就会扩展。我仍然不明白火花会在哪里把库伯内特斯踢出比赛?是不是只有当一个消耗大量内存的AI类型的作业需要在每个流式记录上运行时,还是什么?你如何衡量性能?您考虑了哪些指标,哪些指标对您的案例至关重要?当我在Kubernetes上测试Spark时,卡夫卡将消息转储到Azure Data Lake,我的瓶颈是唯一的网络,尽管它足够快。