Python 使用Databricks在Apache Spark中装载Azure Data Lake时出错
我正在尝试用ApacheSpark中的以下Python代码装载Azure数据湖Python 使用Databricks在Apache Spark中装载Azure Data Lake时出错,python,apache-spark,databricks,azure-databricks,Python,Apache Spark,Databricks,Azure Databricks,我正在尝试用ApacheSpark中的以下Python代码装载Azure数据湖 def check(mntPoint): a= [] for test in dbutils.fs.mounts(): a.append(test.mountPoint) result = a.count(mntPoint) return result mount = "/mnt/lake" if check(mount)==1: resultMsg = "
def check(mntPoint):
a= []
for test in dbutils.fs.mounts():
a.append(test.mountPoint)
result = a.count(mntPoint)
return result
mount = "/mnt/lake"
if check(mount)==1:
resultMsg = "<div>%s is already mounted. </div>" % mount
else:
dbutils.fs.mount(
source = "wasbs://root@adlsprexxxxxdlsdev.blob.core.windows.net",
mount_point = mount,
extra_configs = {"fs.azure.account.key.adlspretxxxxdlsdev.blob.core.windows.net":""})
resultMsg = "<div>%s was mounted. </div>" % mount
displayHTML(resultMsg)
完全错误如下所示:
ExecutionError Traceback (most recent call last)
<command-3313750897057283> in <module>
4 resultMsg = "<div>%s is already mounted. </div>" % mount
5 else:
----> 6 dbutils.fs.mount(
7 source = "wasbs://root@adlsprexxxxxxxkadlsdev.blob.core.windows.net",
8 mount_point = mount,
/local_disk0/tmp/1619799109257-0/dbutils.py in f_with_exception_handling(*args, **kwargs)
322 exc.__context__ = None
323 exc.__cause__ = None
--> 324 raise exc
325 return f_with_exception_handling
326
ExecutionError回溯(最近一次调用)
在里面
4 resultsg=“%s已装入。”%mount
5其他:
---->6 dbutils.fs.mount(
7来源=”wasbs://root@adlsprexxxxxxkadlsdev.blob.core.windows.net“,
8安装点=安装,
/本地磁盘0/tmp/1619799109257-0/dbutils.py在f_中,带有异常处理(*args,**kwargs)
322 exc.\uuuuu上下文\uuuuuu=无
323 exc.\原因\无
-->324升exc
325带异常处理的返回f_
326
有人能告诉我如何解决这个问题吗?你需要提供存储密钥,而现在你有空字符串。通常人们将存储密钥放入Azure KeyVault(并将其装载为secret scope)或使用Databricks烘焙的secret scope,然后通过
dbutils.secrets.get
(如图所示):
dbutils.fs.mount(
来源=”wasbs://root@adlsprexxxxxdlsdev.blob.core.windows.net“,
安装点=安装,
extra_configs={“fs.azure.account.key.adlspretxxxxdlsdev.blob.core.windows.net”:
dbuitils.secrets.get(作用域名称,秘密名称)})
ExecutionError Traceback (most recent call last)
<command-3313750897057283> in <module>
4 resultMsg = "<div>%s is already mounted. </div>" % mount
5 else:
----> 6 dbutils.fs.mount(
7 source = "wasbs://root@adlsprexxxxxxxkadlsdev.blob.core.windows.net",
8 mount_point = mount,
/local_disk0/tmp/1619799109257-0/dbutils.py in f_with_exception_handling(*args, **kwargs)
322 exc.__context__ = None
323 exc.__cause__ = None
--> 324 raise exc
325 return f_with_exception_handling
326