hadoop-azure可以配置为对azure blob使用active directory (tenant, appI



我使用Hadoop-azure库从azure blob存储读取文件。从文档我有手动如何添加Hadoop配置使用共享访问签名(sas)或共享密钥认证。然而,可以通过Active Directory(租户id/客户端id/客户端秘密)进行身份验证。我找到了下一种方法来配置它的azure - data - lake - storage -gen2,而我仍然好奇我能以某种方式使用它的azure blob(洗涤/洗涤blobs)

hadoopConfig.set("fs.azure.account.auth.type", "OAuth");
hadoopConfig.set("fs.azure.account.oauth.provider.type.<storageName>.blob.core.windows.net", "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider");
hadoopConfig.set("fs.azure.account.oauth2.client.id.<storageName>.blob.core.windows.net", clientId);    
hadoopConfig.set("fs.azure.account.oauth2.client.secret.<storageName>.blob.core.windows.net", clientSecret);
hadoopConfig.set("fs.azure.account.oauth2.client.endpoint.<storageName>.blob.core.windows.net", "https://login.microsoftonline.com/" + tenantId
+"/oauth2/token");

^不能用于AZURE BLOB(异常仍然要求我共享密钥)

org.apache.hadoop.fs.azurebfs.oauth2.AzureADAuthenticator类在Hadoop-azure,但我不知道如何连接到配置。

主代码:

public void readFile(String blobURI) {
InputFile file = HadoopInputFile.fromPath(new org.apache.hadoop.fs.Path(blobURI), hadoopConfig);
reader = AvroParquetReader.<GenericRecord> builder(file).build();
}

ABFS (azure blob文件系统)支持读写存储在Azure Blob存储帐户中的数据,也支持配置多个Azure Blob存储帐户

ABFS驱动程序的所有配置都存储在core-site.xml配置文件

配置Hadoop湖访问ADLS是设置Azure数据文件系统。编辑core-site.xml,其中包含集群范围的配置。core-site.xml位于%HADOOP_HOME%etchadoop中需要设置像

这样的配置
<configuration>  <property>
<name>dfs.adls.oauth2.access.token.provider.type</name>
<value>ClientCredential</value>
</property>

<property>
<name>dfs.adls.oauth2.refresh.url</name>
<value>YOUR TOKEN ENDPOINT</value>
</property>  <property>
<name>dfs.adls.oauth2.client.id</name>
<value>YOUR CLIENT ID</value>
</property>  <property>
<name>dfs.adls.oauth2.credential</name>
<value>YOUR CLIENT SECRET</value>
</property>  <property>
<name>fs.adl.impl</name>
<value>org.apache.hadoop.fs.adl.AdlFileSystem</value>
</property>  <property>
<name>fs.AbstractFileSystem.adl.impl</name>
<value>org.apache.hadoop.fs.adl.Adl</value>
</property>  </configuration>

有关更多详细信息,请参阅本文档1和文档2

相关内容

  • 没有找到相关文章

最新更新