将数据作为Json从DataFrame写入Azure Blob存储

将数据作为Json从DataFrame写入Azure Blob存储,azure,azure-storage-blobs,azure-blob-storage,spark-shell,Azure,Azure Storage Blobs,Azure Blob Storage,Spark Shell,我在dataframe中有一些数据,我必须将其转换为json并存储到Azure Blob存储中。 有没有办法做到这一点? 以下是我尝试过的步骤。我正在spark shell上试用 val df = spark.sql("select * from historic_data.all_historic_data").show() spark.conf.set("fs.azure.account.key.<STORAGE_ACCOUNT_NAME>.blob.core.windows.

我在dataframe中有一些数据,我必须将其转换为json并存储到Azure Blob存储中。 有没有办法做到这一点? 以下是我尝试过的步骤。我正在spark shell上试用

val df = spark.sql("select * from historic_data.all_historic_data").show()

spark.conf.set("fs.azure.account.key.<STORAGE_ACCOUNT_NAME>.blob.core.windows.net","STORAGE_ACCOUNT_KEY")

df.write.mode(SaveMode.Append).json("wasbs://BlobStorageContainer@<STORAGE_ACCOUNT_NAME>.blob.core.windows.net/<FOLDER_PATH_OF BLOB>/")
在提供blob详细信息时,我是否遗漏了什么? 下面是我的存储帐户的屏幕截图:


我在这里没有看到任何类似的问题,这些问题将作为Json从数据帧写入Azure Blob。

指定的资源名称包含无效字符。

关于这个问题的信息是明确的。您正在容器名称中使用大写字符,即,因此将BlobStorageContainer更改为BlobStorageContainer


可以找到完整的规则列表。

谢谢。它起作用了。。更正为
df.write.mode(SaveMode.Append).json(“wasbs://
org.apache.hadoop.fs.azure.AzureException: com.microsoft.azure.storage.StorageException: The specifed resource name contains invalid characters.
  at org.apache.hadoop.fs.azure.AzureNativeFileSystemStore.retrieveMetadata(AzureNativeFileSystemStore.java:2208)
  at org.apache.hadoop.fs.azure.NativeAzureFileSystem.getFileStatusInternal(NativeAzureFileSystem.java:2673)
  at org.apache.hadoop.fs.azure.NativeAzureFileSystem.getFileStatus(NativeAzureFileSystem.java:2618)
  at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:1448)
  at org.apache.spark.sql.execution.datasources.InsertIntoHadoopFsRelationCommand.run(InsertIntoHadoopFsRelationCommand.scala:92