阅读时间:6分钟
本文联合写的:
- 现货的dota2雷竞技规则 团队将是下一代火花的平台部署在Kubernetes。我们的使命是使火花更易于使用和有成本效益的,专注于数据工程的工作负载。
- QuantmetryAI &数据咨询公司专家在帮助欧洲企业采用技术像Apache火花来解决关键业务目标。
是什么让Apache引发流行?
在世界数据科学与数据工程,Apache火花是处理大型数据集的领先技术。Apache火花开发者社区蓬勃发展:大多数公司已经采用或正在采用Apache火花。Apache火花的流行是由于3电源原因:
- 这是太快了。它可以处理大数据集(GB,结核病或PB规模)由于其并行化。
- 它在Python api (PySpark), Scala / Java SQL和r .这些api使一个简单的迁移从“单机”(运作)Python工作负载运行在规模与火花。例如,考拉图书馆最近被释放,使Python开发人员轻松地把熊猫代码到火花。这一事实任意Python / Scala代码可以执行也给开发人员提供了更多的灵活性比火花像红移和BigQuery SQL-only框架。
- 它的用途很广。Apache火花连接器为几乎所有的数据存储,并引发集群可以部署在任何云或本地平台。
顶部痛点与Apache火花是什么?
调试应用程序代码
第一个挑战是火花初学者很难理解他们的代码是如何解释和分布式的火花。你需要了解错综复杂的火花,达到一定程度的专业知识能够调试应用程序不按预期执行(例如,调试内存错误),然后去理解和优化它的速度。
引发了很多配置,对于初学者来说是复杂的。因此,大多数火花开发者倾向于坚持默认设置,而没有意识到如何伤害了他们的应用程序稳定性和性能。
底层基础设施管理
第二个挑战是基础设施管理。我们激发集群的大小应该是什么?我应该选择哪种类型的虚拟机和磁盘吗?我们应该如何收集和可视化日志和指标?
这些挑战内部部署之间有两种不同的口味(Hortonworks, Cloudera MapR)和云部署(AWS: EMR, GCP: Dataproc, Azure: HDInsight)。
- 对于on-prem的部署,主要的挑战是成本/速度权衡在集群上的大小。如果你超大的集群中,你的成本会像滚雪球一样越积越多,你将遭受低利用率和获得资源,集群的大部分时间。雷竞技rabet官网如果你不够大的集群,它将无法维持峰值工作负载,和需要实现优先级队列,以确保你的关键任务工作负载不推迟。
- 对于云部署,弹性云提供商解决这一问题的资源可以动态添加或删除。雷竞技rabet官网这也意味着成本是无限的,它是每个火花用户选择合适大小和配置他们的应用程序,确保它是稳定的和有成本效益的。尽管被称为“管理”的服务,管理和配置的实际负担仍在数据团队使用集群的火花。
现在让我们复习点的最佳实践和推荐来克服这些挑战。
简化火花Serverless方法基础设施管理
dota2雷竞技规则 是一个管理的火花的平台上部署Kubernetes集群内部云客户的帐户。它可以在三大云提供商(AWS, GCP和Azure)和它是一个替代平台像砖一样,亚马逊EMR,谷歌Dataproc, Azure HDInsight。让——一个ex-Databricks工程师,数据力学的创始人之一,现在产品所有者海洋火花,解释了我们的三个关键特性实现serverless方法Apache火花。
Dockerized。
Kubernetes为集装箱码头工人的原生支持。一旦这些容器允许你建立你的依赖关系(在你的笔记本电脑),然后运行您的应用程序在一个一致的方法:在你的笔记本电脑,开发和测试;或在云中生产数据。
使用码头工人而不是缓慢的init脚本下载和运行时依赖会使火花应用程序更有成本效益的和稳定的。通过适当的优化,可以加快你的火花和码头工人开发周期这样需要不到30秒的时间你改变你的代码部署到我们的平台。
更新(2021年4月):我们现在公开发布的我们优化的码头工人Apache火花(检查我们的图片DockerHub)。它们包含所有常用的数据连接器,以及火花,Hadoop, Java, Scala, Python和其他库,用图片来帮助你开始“工作,开箱即用的”!
它在自动驾驶模式。
我们相信一个“管理”火花平台应该做更多的不仅仅是虚拟机请求时开始。其实应该从用户的基础设施管理负担。因此我们的平台动态参数和自动调整最重要的基础设施和火花配置:集群大小,类型的实例,磁盘类型、层次的并行性,内存管理,调整配置,等等。这使得火花2 x更稳定、更划算,我们说明2019年引发峰会与客户成功的故事。
定价的实际引发计算时间。
竞争火花平台收取费用基于服务器正常运行时间(“使用这种类型的实例将花费你一个小时0.40美元”)。这个费用是由于这台机器是否实际上是使用的火花,或是否只是但不能做任何事,因为你犯了一个配置错误。
在现货,我们只收客户当他们的机器是用来运行引发的计算时,不是基于整体服务器正常运行时间。这给了我们一个激励更有效地管理你的基础设施,消除浪费计算资源。雷竞技rabet官网书和我们开会如果你想让我们评估这可能降低你的成本。
第三点是特定于我们的平台,但前两个建议——dockerization和一些自动驾驶功能(至少自动定量)可在你的火花的平台。
使火花更容易获得新的监控界面
serverless方法可以加快你的迭代周期10倍和你的成本除以3 x。但是如果你的火花代码有错误或如果您的数据不分区的正确方法,它仍然是发展来解决这个问题。今天唯一可用的监控工具来解决这些挑战称为火花UI(截图),但它是繁琐和不直观的:
- 太多的信息会显示出来。很难的地方应用程序花费的大部分时间和瓶颈。
- 它缺乏关键指标在内存使用,cpu使用率,I / O。
- 火花历史服务器(必要的访问引发UI应用程序完成后)很难建立。
为了解决这个问题,使火花更容易为初学者和专家一样,海洋为火花的团队正在开发一种新的监控工具来取代火花UI,高兴的是。快乐将会得到更广泛的火花社区免费(不仅仅是现货的客户)。你可以将它安装在任何火花平台在云中(或本地)下载一个开源代理将运行在火花司机和流指标的海洋引发后端。
这是一个截图的喜悦是什么样子。它由概述屏幕来帮助开发人员得到一个鸟眼视图的应用程序,与关键指标和高层的建议。新指标的CPU和内存使用情况将有助于激发开发人员了解他们的应用程序资源的配置文件和瓶颈。
更新(2021年4月):喜悦正式发布!通过我们免费注册网站看看我们的github页面安装上快乐的火花平台(EMR,我们支持砖Dataproc, HDInsight,鼎晖/黄芪丹参滴丸,开源分布,等等)。
结论:Apache引发的未来
我们希望这篇文章已经给你具体的建议来帮助你取得更大的成功与火花,或建议来帮助你开始吧!Quantmetry和现货可用来帮助你在这个旅程。
最后我们去令人激动的工作目前在Apache发生火花。
- 3.0(2020年6月)带来了火花2 x平均性能通过适应性等性能优化查询执行和分区修剪。动态分配(自动定量)现在可供Kubernetes火花。新的熊猫UDF和Python类型提示也使PySpark开发变得更容易。
- 火花3.1(2020年12月)将申报的东西Spark-on-Kubernetes作为正式和生产就绪由于性能更稳定和修复,因此加速从YARN-based平台过渡到Kubernetes-based平台(如海洋火花)。更多的性能优化也进入过滤器叠加JSON和Avro文件格式。

