云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

企业邮箱_唐山大地震百度云_企业级

小七 141 0

加速数据块上的R工作流

在Databricks,我们努力使我们的统一分析平台成为运行大数据分析的最佳场所。对于大数据,apachespark已经成为事实上的计算引擎,而对于高级分析,R是使用最广泛的语言和环境之一。R的软件包生态系统拥有超过1万个软件包,从实现简单的统计功能到基因组学和金融等垂直领域的复杂软件包。以Databricks Runtime(DBR)为核心的统一分析平台,加速并统一了Apache Spark和R的优势。DBR帮助各个行业和垂直行业的客户高效地从其大数据中提取价值。许多Databricks R用户利用apachespark和R丰富的生态系统的优势,采用两步工作流程。首先,它们使用sparkrapi在分布式sparkdataframe上执行所有大型数据操作。这些通常包括从数据源加载数据、解析数据并将其转换为所需的格式和形状。在许多情况下,最终结构化数据集的有趣部分可以放入一台机器的内存中。在此阶段,用户将分布式数据集转换为本地R数据帧并将它们传递给其他(单节点)R包以进行进一步的分析或可视化。通常,R之间的转换数据帧并且Spark数据帧发生多次。例如,R包函数的结果被并行化并与分布式数据集连接。在这篇博文中,我们介绍了Databricks Runtime 3.3(DBR)中的两个新改进,它们加速了这些常见的工作流。首先,我们添加了对R包的支持,作为Databricks库管理的一部分。其次,作为DBIO加速器模块的一部分,我们加快了SparkR::collect()和SparkR::createDataFrame()的性能。这两个api是单节点R和分布式Spark应用程序之间的桥梁,也是SparkR最常用的功能之一。R数据包管理在Databricks工作区中,用户现在可以定义一个指向他们所需的CRAN存储库和包的库。当这个库连接到集群时,所有工人和驱动节点将自动安装CRAN包。这个功能也可以通过restapi访问。使用托管R库,将工作流与第三方R包集成在数据块上会更加容易。对于自动缩放集群,尤其是这种情况,在这种情况下,可以动态地将新的worker添加到集群中。带DBIO的高性能SparkR我们使用航空公司数据集作为基准。该数据集由超过1.2亿行和29列的数字和字符类型组成,CSV格式在R用户中很常见和流行。我们逐步地使用数据集的较大部分来评估不同数据大小下的吞吐量和延迟,还发现了调用失败的限制。我们比较了dbr3.3和dbr3.0在由四个i3.xlarge worker组成的集群上。测量SparkR::collect()性能我们首先使用Spark的CSV数据源和自动模式推断来加载数据。我们缓存并具体化Spark数据帧,然后将其收集到本地R数据帧. 我们测量收集步骤的总运行时间。测量SparkR::createDataFrame()性能我们使用R的表格数据读取功能从本地文件系统加载文件,默认配置自动推断模式。然后将数据帧使用SparkR::createDataFrame()并计算行数。对于这个基准测试,我们测量最后两个步骤组合起来的运行时间。基准结果首先,我们比较了并行化R的平均吞吐量数据帧在dbr3.3和dbr3.0上。DBIO在dbr3.3中的平均吞吐量比dbr3.0高出300倍。在收集Spark数据帧时,我们观察到Databricks Runtime 3.3的平均吞吐量比旧版本高24倍。下面的图显示了端到端的延迟。用户在调用kr-API时感知到了什么。在每个DBR版本上,我们逐渐增加输入大小,直到调用失败为止。我们测量了每次成功运行所用的时间。在DBR 3.0上,SparkR::createDataFrame()失败,数据大于750K行(约70MB)。在dbr3.3上,对任何R的调用都没有失败数据帧. 总体而言,createDataFrame()在DBR 3.3上的速度提高了100倍,并且可以处理更大的数据。SparkR::collect()的故障点没有更改。在大约6M行(550MB)时,R进程无法处理单个内存对象,我们在收集Spark数据帧时观察到失败。在这个实验中,dbr3.3在不同的输入大小上比旧版本快10倍。结论我们一直致力于改进数据链上不同的R工作流。我们最近宣布与sparklyr;R包管理的集成和SparkR性能的改进是我们实现这一目标的最新步骤。如上所示,Databricks Runtime 3.3中的DBIO显著提高了两个最重要的SparkR调用的性能:SparkR::collect()和SparkR::createDataFrame()。这些调用将数据从Spark的JVM传输到R,反之亦然,是最流行的sparkrapi。阅读更多要了解更多关于我们与SparkR在Databricks方面所做的努力,请参考以下资料:在Databricks上用apachesparkr并行化大型仿真随需应变网络研讨会和常见问题解答:使用apachespark并行化R代码云计算中的大数据SQL平台基准测试在Databricks中使用sparklyr免费试用Databricks。今天就开始吧