具有本地捕鱼大亨网络版支持的Apache Spark 2.3

捕鱼大亨网络版和大数据

开源社区在过去的一年中一直在努力为捕鱼大亨网络版中的数据处理,数据分析和机器学习工作负载提供一流的支持。 捕鱼大亨网络版中的新扩展功能,例如 定制资源定制控制器可用于与各个应用程序和框架进行深度集成。

传统上,数据处理工作负载是在专用设置(例如YARN / Hadoop堆栈)中运行的。但是,统一捕鱼大亨网络版上所有工作负载的控制平面可以简化集群管理并可以提高资源利用率。

“彭博在机器学习和NLP方面进行了大量投资,以使我们的客户在决定其投资决策的新闻和财务信息方面具有竞争优势。通过在捕鱼大亨网络版之上构建我们的数据科学平台,我们正在不断发展最先进的数据科学工具,例如Spark,TensorFlow和我们可观的GPU占用空间,该公司的5,000多名软件工程师可以使用一致,易于使用的方式进行访问。” -彭博(Bloomberg)搜索和数据科学基础架构团队负责人Steven Bower

介绍Apache Spark + 捕鱼大亨网络版

Apache Spark 2.3 捕鱼大亨网络版原生支持结合了两个著名的开源项目中的精华-Apache Spark,一个用于大规模数据处理的框架;和捕鱼大亨网络版。

Apache Spark是数据科学家必不可少的工具,它为从大规模数据转换到分析到机器学习的各种应用程序提供了一个强大的平台。数据科学家正在采用容器来通过实现诸如打包依赖关系和创建可复制工件之类的好处来改善其工作流程。鉴于捕鱼大亨网络版是管理容器化环境的事实上的标准,因此自然支持在Spark中支持捕鱼大亨网络版 API。

从Spark 2.3开始,用户可以在现有捕鱼大亨网络版 1.7+集群中运行Spark工作负载,并利用Apache Spark的功能来管理分布式数据处理任务。 Apache Spark工作负载可以直接利用捕鱼大亨网络版集群进行多租户和共享 命名空间配额,以及诸如 可插拔授权记录中。最重要的是,它不需要在捕鱼大亨网络版集群上进行任何更改或进行新安装。只是 创建一个容器图像 并设置正确的 RBAC角色 为您的Spark应用程序准备就绪。

具体来说,捕鱼大亨网络版中的本机Spark应用程序充当 定制控制器,它会根据Spark调度程序的请求创建捕鱼大亨网络版资源。与...相比 在独立模式下部署Apache Spark 在捕鱼大亨网络版中,本机方法提供了Spark应用程序的细粒度管理,改进的弹性以及与日志记录和监视解决方案的无缝集成。社区还在探索高级用例,例如管理流工作负载和利用服务网格等 伊斯蒂奥.

要在捕鱼大亨网络版集群上自己尝试,只需下载官方的二进制文件即可 Apache Spark 2.3版本。例如,在下面,我们描述了运行一个简单的Spark应用程序来计算三个Spark执行程序之间的数学常数Pi,每个执行程序都运行在一个单独的容器中。请注意,这需要运行捕鱼大亨网络版 1.7或更高版本的集群, Kubectl 配置为访问它的客户端,以及必要的客户端 RBAC规则 默认的名称空间和服务帐户。

$ Kubectl cluster-info  

捕鱼大亨网络版 master is running at //xx.yy.zz.ww

$ bin/spark-submit

   --master k8s:////xx.yy.zz.ww

   --deploy-mode cluster

   --name spark-pi

   --class org.apache.spark.examples.SparkPi

   --conf spark.executor.instances=5

   --conf spark.kubernetes.container.image=

   --conf spark.kubernetes.driver.pod.name=spark-pi-driver

   local:///opt/spark/examples/jars/spark-examples_2.11-2.3.0.jar

要观看在集群上创建的Spark资源,可以在单独的终端窗口中使用以下kubectl命令。

$ Kubectl get pods -l 'spark-role in (driver, executor)' -w

NAME              READY STATUS  RESTARTS AGE

spark-pi-driver   1/1 Running  0 14s

spark-pi-da1968a859653d6bab93f8e6503935f2-exec-1   0/1 Pending 0 0s

可以在作业执行过程中通过运行以下命令来流式传输结果:


$ Kubectl logs -f spark-pi-driver

应用程序完成后,您应该在驱动程序日志中看到Pi的计算值。

在Spark 2.3中,我们从对以Java和Scala编写的Spark应用程序的支持开始,对从HTTP,GCS,HDFS等各种数据源进行资源本地化的支持。我们还密切关注了Spark执行程序的故障和恢复语义,为将来的开发奠定了坚实的基础。开始使用 开源文档 今天。

参与其中

在不久的将来有很多激动人心的工作要做。我们正在积极开发功能,例如动态资源分配,依赖关系的集群内登台,对PySpark和SparkR的支持,对Kerberized HDFS集群的支持以及客户端模式和流行笔记本电脑的交互式执行环境。对于爱上捕鱼大亨网络版声明式管理应用程序方式的人们,我们还一直在努力 捕鱼大亨网络版运算符 用于spark-submit,它允许用户以声明方式指定和提交Spark应用程序。

我们才刚刚开始!我们希望您能参与其中并帮助我们进一步发展该项目。

非常感谢Apache Spark和捕鱼大亨网络版的贡献者分布在多个组织中,他们花费了数百小时来进行这项工作。我们期待看到更多的人为该项目做出贡献并帮助其进一步发展。

Anirudh Ramanathan和Palak Bhatia
谷歌