Azure Synapse Analytics 的文档提到了使用 Synapse Analytics 中的 Apache Spark 池将数据读/写到 Azure Data Lake Storage Gen2 的两种方法。
- 使用 ADLS 存储路径直接读取文件
adls_path = "abfss://<containername>@<accountname>.dfs.core.windows.net/<filepath>"
df = spark.read.format("csv").load(adls_path)
- 使用 mssparkutils 创建挂载点并使用 synfs 路径读取文件
mssparkutils.fs.mount(
"abfss://<containername>@<accountname>.dfs.core.windows.net",
"/data",
{"linkedService":"<accountname>"}
)
synfs_path = "synfs:/<jobid>/data/<filepath>"
df = spark.read.format("csv").load(synfs_path)
这两种方法有什么区别?您什么时候更愿意使用挂载点?
最佳答案
挂载点就像创建虚拟文件夹并将位置映射到 Azure 存储
从挂载点访问存储的优点:
- 从 Datalake 访问特定文件时的代码不太复杂,无需在每次访问时指定完整的存储路径
- 您可以像访问本地存储中的文件一样访问文件
- 您可以将数据组织为集中位置的文件夹
缺点:
- 当您需要从 Azure 存储访问多个目录时效率不高,映射多个目录会造成困惑并造成困惑
关于azure - 何时应在 Azure Synapse Analytics 中使用装载点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75553649/