你好,
我工作在一個流媒體數據處理。我開始一步從azure eventhub使用readstream讀取數據。現在我想writestream成δ表。
我的要求是,數據應該出現在外部位置(adls gen2)和表應該在我metastore可用。
當我嚐試以下代碼
Code_Snippet:
ext_table_location = " adls路徑”
autoloader_df。writeStream \
.format \(“δ”)
.outputMode \(“追加”)
.option (“checkpointLocation”, checkpoint_directory) \
.option (“mergeSchema”,“真正的”)\
.option(“路徑”,ext_table_location) \
.table (ext_table_location)
它是失敗的。有沒有流數據的標準方法對於這樣的場景嗎?
提前謝謝!
有幾個方法可以連接到ADLS代。請參考下麵的文檔。例如,如果你決定去服務主體的方法,您需要添加以下存儲賬戶配置細節集群或筆記本。同樣適用於存儲SAS令牌和存儲鍵。
service_credential = dbutils.secrets.get(範圍= " < >範圍”,關鍵= < service-credential-key >)
spark.conf.set (“fs.azure.account.auth.type。< storage-account > .dfs.core.windows.net”、“OAuth”)
spark.conf.set (“fs.azure.account.oauth.provider.type。< storage-account > .dfs.core.windows.net”、“org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider”)
spark.conf.set (“fs.azure.account.oauth2.client.id。< storage-account > .dfs.core.windows.net”、“<應用程序id >”)
spark.conf.set (“fs.azure.account.oauth2.client.secret。< storage-account > .dfs.core.windows.net”, service_credential)
spark.conf.set (“fs.azure.account.oauth2.client.endpoint。< storage-account > .dfs.core.windows.net”、“https://login.microsoftonline.com/ < directory-id > / oauth2 /令牌”)
https://learn.microsoft.com/en-us/azure/databricks/getting-started/connect-to-azure-storage
https://learn.microsoft.com/en-us/azure/databricks/storage/azure-storage