Conector do Cloud Storage

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 de hdfs://.
  • 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 do cluster do Dataproc

O conector do Cloud Storage é instalado por padrão nós do cluster do Dataproc /usr/local/share/google/dataproc/lib/.

As seções a seguir descrevem as etapas que você pode seguir para configurou 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:

  1. 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.
  2. incluem e mudar as classes e as dependências do conector para a versão que você está usando no jar do seu aplicativo. A realocação é necessária para evitar 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

  1. Fazer o download do conector

    Para fazer o download do conector do Cloud Storage para Hadoop:

  2. 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:

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 informações mais detalhadas, consulte o conector do Cloud Storage notas da versão e Referência do Javadoc (em inglês).

A seguir