时间:2021-07-15 | 标签: | 作者:Q8 | 来源:云科技网络
小提示:您能找到这篇{Azure Databricks大数据构建营 | 小试牛刀,顺利搞定}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的Azure Databricks大数据构建营 | 小试牛刀,顺利搞定内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
< ">看过美剧《绝命毒师》(Breaking Bad)的童鞋,恐怕都会对「老白」的化学知识和运用这些知识的能力留下深刻印象。毕竟,生活中一些常见的物品,通过对它们的成分进行一定组合往往能制造出很「不一般」的东西。 < ">所以接下来你面对了一个新需求,老板要你实现这样的功能:一家连锁药店,希望通过抽样的方式检查止咳糖浆的销量,如果发现有人一次性购买10瓶以上就进行实时告警。你准备怎么做? < ">基于Azure Databricks的流计算就可以轻松实现。一起来看看吧。 < ">本次《Azure Databricks大数据构建营》系列文章,将主要围绕Azure Databricks以及其他配套服务,通过一系列实战教程告诉大家如何基于Azure云打造完全青海推广运行在云端的闭环大数据平台。 < ">内容涵盖:Azure Databricks的基础知识,以及如何借助Azure Databricks实现流计算(Structure Streaming)、批处理(Spark SQL)、安全访问控制以及机器学习能力等。 < ">本系列的第一篇文章概括介绍了有关Azure Databricks的基础知识,错过的童鞋可以点击这里回看。而本篇,将带领大家小试牛刀,基于Azure Databricks开发上文提到的那种实时告警系统。准备好,我们这就开始。 < ">流计算架构说明 < ">本篇涉及到的服务全都部署在中国区Azure上。根据模拟场景的描述,首先我们可以设计出如下所示的架构: < ">该解决方案将用到如下的产品和服务: < ">Azure虚拟机:作为数据源,扮演Producer生产者,通过Python代码模拟客户购买行为,生成示例数据并通过SDK发送数据广告策划与营销策划到Azure EventHub。 < ">Azure EventHub:消息队列,做上下游生产者消费者服务的解耦,Entity ingestion负责接收Producer发送的数据,Entity alerting接收经过Databricks实时计算后的数据。 < ">Azure Databricks:订阅EventHub Entity ingestion作为数据源,通过Structure Streaming对数据进行实时处理后发送软文推广怎么写给Entity alerting。 < ">Azure LogicApp:订阅EventHub Entity alerting并做邮件实时告警。 < ">完整过程中的数据流是这样的: < ">1.Producer生产者发送数据 < ">2.EventHub Entity ingestion(Ingestion实体) < ">3.Databricks Structured Streaming(流计算框架) < ">4.EventHub Entity alerting(Alerting实体) < ">5.Logic App < ">Azure Databrick Structure Streaming的实现 < ">1.Terraform自动化部署 < ">通过Terraform部署的服务组件包括Azure虚拟机、Azure Databricks、EventHub、Logic App,具体的tf文件和变量可参见这里。每项服务Terraform Azure Provider都由Resource支持,具体可参考官方文档。部署完成后的资源清单如下图所示,所有资源都部署在中国北二区域。 < ">2.Producer代码发布 < ">模拟的生产者代码通过虚拟机发布,通过调用Azure EventHub的SDK将消息写入,具体代码可见这里,几个重要配置简单说明下: < ">azure.eventhub:Azure EventHub SDK包,需要通过pip3 install azure.eventhub来指定安装。 < ">create_batch():通过该方法批量发送数据,本次示例以1条消息为1个批次发送到EventHub Entity ingestion。 < ">CONNECTION_STR:Azure EventHub Endpoint,该连接字符串可以在门户上Shared access policies的Connection string–primary key中查看。 < ">EVENTHUB_NAME:写入的EventHub Entity Name。 < ">3.Azure Databricks集群配置及Structure Streaming Notebook的集成 < ">Azure Databricks的创建过程是:首先在Azure上创建一个Databricks实体,然后在此基础上在实体内部创建Workspace以及Cluster,再提交Job。每个Databricks资源都有唯一的ID和Endpoint与之对应,以便能够进行Restful API调用,集群通过Databricks门户创建即可。 < ">本示例将创建1个Driver和2个Worker,共计3个节点的Standard Cluster,Databricks版本为6.4(包含Apache Spark 2.4.5、Scala 2.11)。如果需要做机器学习相关计算,可启用集成GPU/ML框架的版本,详细说明见官方文档,这里不做赘述。 < ">集群状态变为Running就意味着就绪可以使用了。不过在导入Python Notebook之前,需要通过Maven Central安装com.microsoft.azure:azure-eventhubs-spark库文件,以便安装Spark连接Azure EventHub Connector,需要注意库文件的版本要匹配。 < ">Notebook可以直接在门户里新建写入,也可以在VS Code等IDE中编写完之后发布。本文采用第二种模式,原因是IDE丰富的插件可以提高效率。具体的Notebook本文不做展示,放在这里,有需要的童鞋可以自行查看。通过import导入后,附上导入后的截图并做几点说明: < ">整个Notebook分为三个阶段: < ">第一阶段:从EventHub Entity ingestion读取Producer写入的数据,通过Streaming DataFrames的spark.readStream()创建。 < ">第二阶段:通过DataFrame丰富的函数做字段筛选,筛选出来我们需要的字段。 < ">第三阶段:回写EventHub Entity alerting,通过Streaming DataFrames的spark.writeStream()流式写入,注意利用Checkpoint方便任务终止再运行。 < ">当Producer运行起来后,EventHub就会不断有数据写入,所以能看到Spark的Input Records图像。对于每一个Job,都能看到对于该任务分配的资源和Spark参数配置项。 < ">4.Logic APP配置邮件告警 < ">经过Azure Databricks的数据筛选后,筛选出来的Messages都写入了EventHub Entity alerting中,此时通过LogicApp来定义一个自动化的工作流来进行邮件告警。具体创建过程选择Blank,然后自己创建Step即可,当然Azure门户上的示例模板也可以用来参考,如下图所示: < ">第一步订阅EventHub Entity alerting,第二步集成Outlook邮件接口发送告警邮件。所以当目标消息被筛选出来之后,LogicApp就按照定义的邮件内容(本文是消息内容和时间戳)来发送邮件,发送邮件的截图如下: < ">总结 < ">总体上,一个通过消息队列Azure EventHub以及Databricks做流计算处理的示例就完成了。 < ">如果消息生产者Producer不断产生消息,那么整个任务就会一直运行下去,当出现目标消息的时候就会不断的持续告警。在Spark推出Structure Streaming后,也解决了Spark Streaming micro batch的局限性。 < ">本文开头提及的需求已经顺利实现! < ">有关如何借助Azure Databricks实现流计算(Structure Streaming)的内容就是这些了。随后的内容中,我们还将介绍如何实现批处理(Spark SQL)、安全访问控制和机器学习能力。通过这些真实场景中的最佳实践分享,也能帮助大家更清楚地认识到Azure Databricks的价值。敬请期待! |
上一篇:App Annie【成功故事】聚焦 Stillfront 如何收购&管理
下一篇:Shopify如何选择域名?独立站选择域名有哪些注意
基于对传统行业渠道的理解,对互联网行业的渠道我们可以下这样一个定义:一切...
小米应用商店的后台操作和苹果是比较相似的,因为都能填写100字符关键词,允许...
小米的规则目前是在变更中的,但是根据经验小米的搜索排名评分的高低是个很重...
为了恰饭,有时候是要接入一些广告的,所以FB也专门有一个广告的SDK,这就是A...
在 2018 年于旧金山举行的游戏开发者大会上,Amazon Web Services (AWS) 曾宣布,目前世...
关于Facebook Audience Network如何收款的问题,其实官方已经给了详细的步骤。本文主要...
本文介绍了Audience Network对广告载体的质量检查,以及它重点广告形式需要注意的问...
随着iOS开发,作为开发者或公司需要针对iOS App开发涉及的方方面面作出对应的信息...
Facebook和谷歌对出海企业广告渠道都很熟悉,但事实上,在国外还有一些渠道也很...
卖家从做号的第1分钟开始,就一定要想好变现路径是什么?一定要以变现为目的去...
小提示:您应该对本页介绍的“Azure Databricks大数据构建营 | 小试牛刀,顺利搞定”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通Azure Databricks大数据构建营 | 小试牛刀,顺利搞定的相关事宜。
关键词:Azure,Databricks大数据构建营