Pyspark Azure DataRicks数据帧写入导致作业中止错误
我正在尝试将数据写入csv文件,并将该文件存储在Azure data Lake Gen2上,然后遇到作业中止错误消息。这段代码以前也可以正常工作 错误消息: 代码:Pyspark Azure DataRicks数据帧写入导致作业中止错误,pyspark,azure-databricks,pyspark-dataframes,azure-data-lake-gen2,Pyspark,Azure Databricks,Pyspark Dataframes,Azure Data Lake Gen2,我正在尝试将数据写入csv文件,并将该文件存储在Azure data Lake Gen2上,然后遇到作业中止错误消息。这段代码以前也可以正常工作 错误消息: 代码: 我将解决方案总结如下 如果您想访问Azure DataRicks中的Azure DataLake gen2,您有两种选择 将Azure DataLake gen2安装为Azure databricks的文件系统。完成此操作后,您可以使用路径/mnt/读取和写入文件。我们只需要运行一次代码 a。创建服务主体并将存储Blob数据参与者分
我将解决方案总结如下 如果您想访问Azure DataRicks中的Azure DataLake gen2,您有两种选择
/mnt/
读取和写入文件。我们只需要运行一次代码
a。创建服务主体并将存储Blob数据参与者分配给Data Lake Storage Gen2存储帐户范围内的sp
az login
az ad sp create-for-rbac -n "MyApp" --role "Storage Blob Data Contributor" \
--scopes /subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>
az登录
az ad sp为rbac创建-n“MyApp”--角色“存储Blob数据贡献者”\
--作用域/订阅//资源组//提供程序/Microsoft.Storage/storageAccounts/
b。代码
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": "<appId>",
"fs.azure.account.oauth2.client.secret": "<clientSecret>",
"fs.azure.account.oauth2.client.endpoint": "https://login.microsoftonline.com/<tenant>/oauth2/token",
"fs.azure.createRemoteFileSystemDuringInitialization": "true"}
dbutils.fs.mount(
source = "abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/folder1",
mount_point = "/mnt/flightdata",
extra_configs = configs)
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”:”
有关更多详细信息,请参阅能否共享您尝试执行的代码?Hi@HimanshuSinha msft,感谢您的回复。请查找更新了代码的OP。您可以告诉我如何在DataRicks中访问Azure Data Lake Gen2吗?是否添加了
spark.conf.set(“fs.Azure.account.key..blob.core.windows.net“,”)
到您的code@paone此外,如果您使用ADLS Gen2,则需要使用abfss
协议来访问文件,并将spark.conf.set(“fs.azure.account.key..dfs.core.windows.net”,”)
添加到您的代码中进行身份验证。有关详细信息,请参阅。
az login
az ad sp create-for-rbac -n "MyApp" --role "Storage Blob Data Contributor" \
--scopes /subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>
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": "<appId>",
"fs.azure.account.oauth2.client.secret": "<clientSecret>",
"fs.azure.account.oauth2.client.endpoint": "https://login.microsoftonline.com/<tenant>/oauth2/token",
"fs.azure.createRemoteFileSystemDuringInitialization": "true"}
dbutils.fs.mount(
source = "abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/folder1",
mount_point = "/mnt/flightdata",
extra_configs = configs)
from pyspark.sql.types import StringType
spark.conf.set(
"fs.azure.account.key.testadls05.dfs.core.windows.net", "<account access key>")
df = spark.createDataFrame(["10", "11", "13"], StringType()).toDF("age")
df.show()
df.coalesce(1).write.format('csv').option('header', True).mode('overwrite').save('abfss://test@testadls05.dfs.core.windows.net/result_csv')