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

Azure Data PlatformETL工具(11)——ADF 数据流

Azure Data PlatformETL工具——使用Azure Data Factory数据流传输数据