我想打開一些CSV文件作為抽樣,做一些處理,然後作為DataFrame加載它。自文件存儲在一個Azure blob存儲賬戶我需要配置相應的訪問,因為某些原因不能當使用抽樣工作。所以我這樣配置訪問:
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 /令牌”)
這是加載文件時直接DataFrame,但當使用抽樣API:
#這與之前設置配置df = spark.read.format (csv) .load (abfss: / /一些/道路/ file.csv”) #這並不工作,則拋出一個錯誤抽樣= spark.sparkContext.textFile (abfss: / /一些/道路/ file.csv”) df = rdd.filter (filter_func) . map (map_func) .toDF ()
我得到的是錯誤的:
未能初始化configurationInvalid fs.azure.account.key配置值檢測
為什麼直接訪問配置工作當加載文件而不是通過抽樣?我怎麼解決這個問題?
你好!
前幾天我得到同樣的錯誤,我決定這篇文章,我發現:
使用抽樣訪問ADLS Gen 2 |數據工程(data-engineering.wiki)
基本上,關鍵是要設置屬性“hadoop”使用spark.sparkContext.hadoopConfiguration.set (…)
我希望你解決你的問題!