在使用 python 的数据块中,dbutils.fs.mount 给出 java.lang.NullPointerException: authEndpoint trying to mount using abfss。 wasbs 工作正常
In databricks using python, dbutils.fs.mount gives java.lang.NullPointerException: authEndpoint trying to mount using abfss. wasbs works fine
在数据块中使用 db.fs.mount 连接到 azure gen2 数据湖时,在尝试连接到“abfss://theDir@theDataLake.blob.core.windows.net/ 时收到 authEndpoint 错误,但是,连接到“ wasbs://theDir@theDataLake.blob.core.windows.net/" 工作正常。我试图理解为什么 abfss 会导致 authEndpoint 错误而 wasbs 不会。
enter code here
#fails
endpoint = "abfss://theDir@theDataLake.blob.core.windows.net/";
dbutils.fs.mount(
source = endpoint,
mount_point = "/mnt/test",
extra_configs = {"fs.azure.account.key.theDataLake.blob.core.windows.net" : "xxxxxx"})
#works
endpoint = "wasbs://theDir@theDataLake.blob.core.windows.net/";
dbutils.fs.mount(
source = endpoint,
mount_point = "/mnt/test",
extra_configs = {"fs.azure.account.key.theDataLake.blob.core.windows.net" : "xxxxxx"})
您无法使用存储密钥装载 ABFSS 协议。您只能在使用服务主体 (docs) 时使用 ABFSS 挂载,并且它需要另一组参数 extra_configs
:
{"fs.azure.account.auth.type": "OAuth",
"fs.azure.account.oauth.provider.type": "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider",
"fs.azure.account.oauth2.client.id": "<application-id>",
"fs.azure.account.oauth2.client.secret": dbutils.secrets.get(scope="<scope-name>",key="<service-credential-key-name>"),
"fs.azure.account.oauth2.client.endpoint": "https://login.microsoftonline.com/<directory-id>/oauth2/token"}
在数据块中使用 db.fs.mount 连接到 azure gen2 数据湖时,在尝试连接到“abfss://theDir@theDataLake.blob.core.windows.net/ 时收到 authEndpoint 错误,但是,连接到“ wasbs://theDir@theDataLake.blob.core.windows.net/" 工作正常。我试图理解为什么 abfss 会导致 authEndpoint 错误而 wasbs 不会。
enter code here
#fails
endpoint = "abfss://theDir@theDataLake.blob.core.windows.net/";
dbutils.fs.mount(
source = endpoint,
mount_point = "/mnt/test",
extra_configs = {"fs.azure.account.key.theDataLake.blob.core.windows.net" : "xxxxxx"})
#works
endpoint = "wasbs://theDir@theDataLake.blob.core.windows.net/";
dbutils.fs.mount(
source = endpoint,
mount_point = "/mnt/test",
extra_configs = {"fs.azure.account.key.theDataLake.blob.core.windows.net" : "xxxxxx"})
您无法使用存储密钥装载 ABFSS 协议。您只能在使用服务主体 (docs) 时使用 ABFSS 挂载,并且它需要另一组参数 extra_configs
:
{"fs.azure.account.auth.type": "OAuth",
"fs.azure.account.oauth.provider.type": "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider",
"fs.azure.account.oauth2.client.id": "<application-id>",
"fs.azure.account.oauth2.client.secret": dbutils.secrets.get(scope="<scope-name>",key="<service-credential-key-name>"),
"fs.azure.account.oauth2.client.endpoint": "https://login.microsoftonline.com/<directory-id>/oauth2/token"}