Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Databricks在Apache Spark中装载Azure Data Lake时出错_Python_Apache Spark_Databricks_Azure Databricks - Fatal编程技术网

Python 使用Databricks在Apache Spark中装载Azure Data Lake时出错

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 = "

我正在尝试用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 = "<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