Azure Data PlatformETL工具(21)——Azure Databricks使用——访问Azure Blob
Posted 發糞塗牆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Azure Data PlatformETL工具(21)——Azure Databricks使用——访问Azure Blob相关的知识,希望对你有一定的参考价值。
本文属于【Azure Data Platform】系列。
接上文:【Azure Data Platform】ETL工具(20)——创建Azure Databricks
本文演示如何通过Azure Databricks访问Azure存储
环境准备
在前面的ADF章节,我们已经创建过存储账户,所以这里直接使用。但是对于Databricks,则需要使用额外配置,这里用notebook和Scala语言来实现。
创建Scala notebook前,先创建一个集群,使用前一篇的方式创建即可。然后按下图创建notebook:
选择语言和集群:
notebook 界面如下,另外可以看到方框处已经标识出语言。
配置访问
要访问存储账户,可以使用专门的账号,也可以使用【共享访问签名】,在存储账户下选择如下图的配置,并点击【生成SAS和连接字符串】:
我们需要SAS 令牌的值。
回到Databricks的notebook,按以下格式填写信息并在notebook里面执行“shift+回车”,替换前三行的信息:
val containerName = "test"
val storageAccountName = "as4adf"
val sas = "?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacupitfx&se=2022-03-12T19:57:37Z&st=2022-03-12T11:57:37Z&spr=https&sig=qeHK0A8%2FZ1j2bkDOPONO%2FOYrXWOyUwEwDDWyO%2BKc7Zs%3D"
val config = "fs.azure.sas." + containerName+ "." + storageAccountName + ".blob.core.windows.net"
如下图,这是访问Azure Blob的第一层配置:
配置完毕之后,需要装载容器,可以参考官方文档:装载 Azure Blob 存储容器
本例根据格式,得出的Scala脚本如下:
dbutils.fs.mount(
source = "wasbs://test@as4adf.blob.core.windows.net/DataflowDemo.txt",
mountPoint = "/mnt/demo",
extraConfigs = Map(config -> sas))
执行成功:
前面的内容配置好后,可以尝试读取数据内容,因为我的文件是txt文件,所以选择text参考链接。
val mydf = spark.read.text("/mnt/demo")
display(mydf)
同时也可以用其他方式来查询数据:
val selectdf = mydf.select("value")
display(selectdf)
总结
本篇到此为止,主要是集中在对Blob上文件的访问。
以上是关于Azure Data PlatformETL工具(21)——Azure Databricks使用——访问Azure Blob的主要内容,如果未能解决你的问题,请参考以下文章
Azure Data PlatformETL工具(19)——Azure Databricks
Azure Data PlatformETL工具(20)——创建Azure Databricks
Azure Data PlatformETL工具(20)——创建Azure Databricks
Azure Data PlatformETL工具——重新认识Azure Data Factory