Я понял это и решил опубликовать рабочий проект, так как это всегда то, что я ищу.Он размещен здесь:
лазурная искра-локальный образец
Суть его в том, что @Shankar Koirala предложил:
Для WASBустановите свойство, чтобы разрешить распознавание схемы URL:
config.set("spark.hadoop.fs.wasb.impl", "org.apache.hadoop.fs.azure.NativeAzureFileSystem");
Затем установите свойство, которое разрешает доступ к учетной записи.Вам понадобится один из них для каждой учетной записи, к которой вам нужен доступ.Они создаются через портал Azure в разделе «Ключи доступа» блейда учетной записи хранения.
config.set("fs.azure.account.key.[storage-account-name].blob.core.windows.net", "[access-key]");
Теперь для adl назначьте схему fs как с WASB:
config.set("spark.hadoop.fs.adl.impl", "org.apache.hadoop.fs.adl.AdlFileSystem");
// I don't know why this would be needed, but I saw it
// on an otherwise very helpful page . . .
config.set("spark.fs.AbstractFileSystem.adl.impl", "org.apache.hadoop.fs.adl.Adl");
.,,и, наконец, установите ключи доступа клиента в этих свойствах, опять же для каждой отдельной учетной записи, к которой вам нужно получить доступ:
config.set("fs.adl.oauth2.access.token.provider.type", "ClientCredential");
/* Client ID is generally the application ID from the azure portal app registrations*/
config.set("fs.adl.oauth2.client.id", "[client-id]");
/*The client secret is the key generated through the portal*/
config.set("fs.adl.oauth2.credential", "[client-secret]");
/*This is the OAUTH 2.0 TOKEN ENDPOINT under the ENDPOINTS section of the app registrations under Azure Active Directory*/
config.set("fs.adl.oauth2.refresh.url", "[oauth-2.0-token-endpoint]");
Я надеюсь, что это полезно, и я хотел бы отдать должное Шанкару за ответ,но я также хотел получить точные детали там.