Azure Databricks大数据构建营 掐指一算,大数据常用的技术组件-ESG跨境

Azure Databricks大数据构建营 掐指一算,大数据常用的技术组件

来源网络
来源网络
2022-07-05
点赞icon 0
查看icon 680

Azure Databricks大数据构建营 掐指一算,大数据常用的技术组件Azure Databricks大数据构建营 掐指一算数据分析,这恐怕是任何大数据系统最核心的功能和目标,毕竟只有经过妥善的分析并得出结论,才能从所积累的海量数据中获得业务价值。那么,我们基于Azure Databricks构建的大数据系统......

Azure Databricks大数据构建营 掐指一算,大数据常用的技术组件




Azure Databricks大数据构建营 掐指一算

数据分析,这恐怕是任何大数据系统最核心的功能和目标,毕竟只有经过妥善的分析并得出结论,才能从所积累的海量数据中获得业务价值。那么,我们基于Azure Databricks构建的大数据系统,除了像之前介绍过的那样处理实时数据流之外,在海量离线数据的分析和计算方面,又具备哪些优势?本篇将带领你见分晓。

本次《Azure Databricks大数据构建营》系列文章,将主要围绕Azure Databricks以及其它配套服务,通过一系列实战教程告诉大家如何基于Azure云打造完全运行在云端的闭环大数据平台。

内容涵盖:Azure Databricks的基础知识,以及如何借助Azure Databricks实现流计算(Structure Streaming)、批处理(Spark SQL)、安全访问控制以及机器学习能力等。

本系列的第一篇文章概括介绍了有关Azure Databricks的基础知识,错过的童鞋可以点击这里回看;第二篇文章介绍了如何基于Azure Databricks开发实时告警系统,可以点击这里回看。而本篇,主要将介绍如何对离线数据进行分析和计算,进而获得业务所需的各类见解。

背景介绍

一般来说,离线数据的分析都会运行OLAP SQL查询,因而下文将主要围绕SparkSQL,一个可以通过Spark来进行SQL分析的可实时、可离线计算框架展开介绍。下文场景基于集成Azure Datalake Gen2并启用Databricks Delta Lake作为外部存储实现计算存储分离,通过SparkSQL分析新冠肺炎实时统计数据。而相关资源依然会沿用之前两篇文章的Demo所创建的资源组。

Delta Lake是一种可以提高数据湖可靠性的开源存储层,由Databricks开发并开源。Delta Lake提供了ACID事务和可缩放的元数据处理,并可统一流处理和批数据处理。Delta Lake在现有Data Lake的顶层运行,并可与Apache Spark API完全兼容。

具体而言,Delta Lake提供了:

Spark上的ACID事务:可序列化的隔离级别可避免读者看到不一致的数据。

可缩放的元数据处理:利用Spark的分布式处理能力,轻松处理包含数十亿文件的PB级表的所有元数据。

流式处理和批处理统一:Delta Lake中的表是批处理表,也是流式处理源和接收器。流式处理数据引入、批处理历史回填、交互式查询功能都是现成的。

架构强制:自动处理架构变体,以防在引入过程中插入错误的记录。

按时间顺序查看:数据版本控制支持回滚、完整的历史审核线索和可重现的机器学习试验。

更新插入和删除:支持合并、更新和删除操作,以启用复杂用例,如更改数据捕获、渐变维度(SCD)操作、流式处理更新插入等。

总的来说,Delta Lake不仅能在需要事务符合ACID特性的场景提供支持,还针对性能也做了相当大的代码优化,本文的实现也是基于Delta Lake,需要注意数据格式需要转换成delta。

正常情况下,Azure Datalake Gen2与Delta Lake的集成需要在Spark中增加配置项spark.delta.logStore.class=org.apache.spark.sql.delta.storage.AzureLogStore,并且集群需要在lib库中支持hadoopazuredatalake/hadoopazure/wildflyopenssl JAR,具体过程可以见这里。所以这时PaaS的优势就显示出来了:Azure Databricks在集群创建好的同时就已经在集群上启用了该库,直接调用即可。Azure Datalake Gen2的创建过程本文不再赘述,具体见官方文档。

本文将介绍两种常见的集成方式,如下图所示,并做几点说明:

cmd2:非挂载方式

cmd2中通过Scala代码演示Azure Databricks集成Azure Datalake Gen2的认证配置项,通过创建拥有IAM角色「Storage Blob Data Contributor」的服务主体来做认证,验证通过后就可直接调用Datalake里的文件了,注意相关变量需要替换。

cmd3:挂载方式

cmd3中通过Python代码演示Azure Databricks如何挂载Azure Datalake Gen2,身份验证过程和cmd2的方式一样。这种方式的好处是直接可以把远端的Azure Datalake挂载到Azure Databricks上,就好像在使用本地磁盘一样使用Datalake,本文更推荐并且采用该模式,同时注意相关变量需要替换。

另外,本文的环境位于Azure中国区,所以相关域名都是https://login.partner.microsoftonline.cn,如果位于全球Azure中,那么相关域名将会是https://login.microsoftonline.com。

其实从最佳实践角度来说,本文并不是实现的最好方式,因为在Notebook里的认证信息全部都是明文出现。最好的方式应该集成Azure密钥保管库来隐藏密码,该方式不再本文赘述,有兴趣的同学自行研究吧,附上链接供参考。

引入数据源并运行SparkSQL

前面提到,本文所采用的示例数据是和新冠肺炎实时统计数据相关,讲到这里有必要介绍一个微软提供的开放数据集Repo,其中包含各种场景下的csv/json/parquet格式的原始和脱敏数据,本文所用的新冠肺炎数据也是在这里获取的。

选择CSV格式数据作为数据源,下载好之后上传到Azure DataLake,在Container data下面再创建一个Source文件夹作为存放原始数据的目录径。

原始数据确定好之后,就可以通过Notebook来做SparkSQL分析了。本文用到的示例Notebook已经上传到了这里,几个重要配置简单说明下:

COVIDDF:COVIDDF为定义的DataFrame,通过spark.read.format(“csv”)格式并指定挂载路径引入数据;

COVIDDF.write.mode(“append”).format(“delta”):通过Append追加方式写入目标表中,注意这里的格式delta,也就是前面提到的需要做格式转换,写入的表也需要指定路径,并会在Azure Dalalake中生成相应的文件;

ChinaCOVID及ChinaCOVID1:经过上面的建表过程后就可以运行SparkSQL来做SQL查询了。

总结

一个通过集成Azure Datalake Gen2作为外部存储并采用Delta Lake格式进行SparkSQL分析的示例就完成了,本文基本上使用了PySpark来实现,其实除此之外通过SQL或者Scala也是一样可以实现的,有兴趣的同学可以自己再深入研究下吧。

有关如何通过SparkSQL实现数据的离线分析和计算,就是这样了。随后的内容中,我们还将继续介绍如何实现安全访问控制和机器学习能力。通过这些真实场景中的最佳实践分享,也能帮助大家更清楚地认识到Azure Databricks的价值。敬请期待!


文章推荐
AppLovin告诉你如何在合成类游戏脱颖而出,游戏介绍带你快速了解游戏新玩法
ASO、ASM、SEO、SEM是什么
Google AdWords和Google SEO,谷歌平台seo
AWS的工程师如何开发和维护他们的内部技术,aws内部如何研发


特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。

搜索 放大镜
韩国平台交流群
加入
韩国平台交流群
扫码进群
欧洲多平台交流群
加入
欧洲多平台交流群
扫码进群
官网询盘
加入
官网询盘
扫码进群
美国卖家交流群
加入
美国卖家交流群
扫码进群
ESG跨境专属福利分享群
加入
ESG跨境专属福利分享群
扫码进群
拉美电商交流群
加入
拉美电商交流群
扫码进群
亚马逊跨境增长交流群
加入
亚马逊跨境增长交流群
扫码进群
亚马逊跨境增长交流群
加入
亚马逊跨境增长交流群
扫码进群
拉美电商交流群
加入
拉美电商交流群
扫码进群
《TikTok综合运营手册》
《TikTok短视频运营手册》
《TikTok直播运营手册》
《TikTok全球趋势报告》
《韩国节日营销指南》
《开店大全-全球合集》
《开店大全-主流平台篇》
《开店大全-东南亚篇》
《CD平台自注册指南》
《开店大全-俄罗斯篇》
通过ESG入驻平台,您将解锁
绿色通道,更高的入驻成功率
专业1v1客户经理服务
运营实操指导
运营提效资源福利
平台官方专属优惠

立即登记,定期获得更多资讯

订阅
联系顾问

平台顾问

平台顾问 平台顾问

微信扫一扫
马上联系在线顾问

icon icon

小程序

微信小程序

ESG跨境小程序
手机入驻更便捷

icon icon

返回顶部