O conector do Cloud Storage é uma biblioteca Java de código aberto que permite executar Apache Hadoop ou Jobs do Apache Spark diretamente no dados no Cloud Storage e oferece vários benefícios Sistema de arquivos distribuídos do Hadoop (HDFS).
Benefícios do conector do Cloud Storage
- Acesso direto a dados: armazene seus dados no Cloud Storage e acesse-os diretamente. Não é necessário transferi-lo antes para o HDFS.
- Compatibilidade com HDFS: você pode acessar facilmente seus dados no Cloud Storage usando o prefixo
gs://
em vez dehdfs://
. - Interoperabilidade: armazenar dados no Cloud Storage permite interoperabilidade ininterrupta entre os serviços do Spark, do Hadoop e outros do Google.
- Acessibilidade de dados: ao encerrar um cluster do Hadoop, ao contrário do HDFS, você continua tendo acesso aos seus dados no Cloud Storage.
- Alta disponibilidade de dados: dados armazenados no Cloud Storage estão amplamente disponíveis e são replicados globalmente sem perda de desempenho.
- Não há sobrecarga de gerenciamento de armazenamento: diferentemente do HDFS, o Cloud Storage não exige uma rotina de manutenção, como verificação do sistema de arquivos, upgrade ou downgrade para versões anteriores do sistema de arquivos.
- Inicialização rápida: no HDFS, um job do MapReduce não pode iniciar até que o
NameNode
esteja fora do modo de segurança, um processo que pode levar de alguns segundos ou muitos minutos, dependendo do tamanho e do estado dos seus dados. Com o Cloud Storage, inicie o job assim que os nós de tarefa começarem, o que gera uma economia significativa no longo prazo.
Configuração do conector do Cloud Storage para clusters do Dataproc
O conector do Cloud Storage é instalado por padrão em todos os
nós do cluster do Dataproc no
diretório /usr/local/share/google/dataproc/lib/
.
As seções a seguir descrevem as etapas para configurar o conector no cluster do Dataproc.
Permissões de conta de serviço
Ao executar o conector nas VMs do Compute Engine,
incluindo clusters do Dataproc,
A propriedade google.cloud.auth.service.account.enable
foi definida
para false
por padrão, o que significa que você não precisa configurar manualmente um
conta de serviço para o conector. recebe uma conta de serviço
credenciais do servidor de metadados da VM.
Versões de conector não padrão
As versões padrão do conector do Cloud Storage usadas nas imagens mais recentes instalados nos clusters do Dataproc estão listados na imagem do cluster páginas de versão (consulte Versões compatíveis do Dataproc). Se seu aplicativo depende de um conector não padrão implantada no cluster, é preciso:
- crie um cluster com o
--metadata=GCS_CONNECTOR_VERSION=x.y.z
que atualiza o conector usado pelos aplicativos em execução no cluster à versão especificada do conector. - inclua e reloque as classes e dependências do conector para a versão que você está usando no jar do aplicativo. A realocação é necessária para evitar um conflito entre as a versão do conector implantado e o do conector instalada no cluster do Dataproc (consulte a exemplo de realocação de dependências do Maven.
Clusters que não são do Dataproc
Fazer o download do conector
Para fazer o download do conector do Cloud Storage para Hadoop:
- versão mais recente, localizada no bucket do Cloud Storage, não recomendada para uso em produção:
- versão específica do bucket do Cloud Storage substituindo as versões do conector do Hadoop e do Cloud Storage no padrão de nome
gcs-connector-HADOOP_VERSION-CONNECTOR_VERSION.jar
:- Exemplo:
gs://hadoop-lib/gcs/gcs-connector-hadoop2-2.1.1.jar
- Exemplo:
- versão específica
da
Repositório Apache Maven
Faça o download de um jar sombreado que tenha o sufixo
-shaded
no nome.
Instalar o conector.
Consulte Como instalar o conector (em inglês) no GitHub para saber como instalar, configurar e testar o conector do Cloud Storage.
Usar o conector
Há várias maneiras de acessar dados armazenados no Cloud Storage:
- Em um aplicativo Spark ou PySpark ou Hadoop usando o prefixo
gs://
. - O shell do hadoop:
hadoop fs -ls gs://bucket/dir/file
. - O navegador do Cloud Storage no console do Google Cloud.
- Usando os comandos
gcloud storage cp
ougcloud storage rsync
.
Recursos
Versão do Java
O conector do Cloud Storage requer o Java 8.
Informações de dependências do Apache Maven
<dependency> <groupId>com.google.cloud.bigdataoss</groupId> <artifactId>gcs-connector</artifactId> <version>insert "hadoopX-X.X.X" connector version number here</version> <scope>provided</scope> </dependency>
ou para a versão sombreada:
<dependency> <groupId>com.google.cloud.bigdataoss</groupId> <artifactId>gcs-connector</artifactId> <version>insert "hadoopX-X.X.X" connector version number here</version> <scope>provided</scope> <classifier>shaded</classifier> </dependency>
Para saber mais detalhes, consulte as Notas de lançamento do conector do Cloud Storage e a referência do Javadoc.
A seguir
- Saiba mais sobre o Cloud Storage