Anexe um cluster do Dataproc ou um cluster autogerido

Depois de criar um serviço de Metastore do Dataproc, pode anexar qualquer um dos seguintes serviços:

Depois de associar um destes serviços, este usa o seu serviço Dataproc Metastore como Hive metastore durante a execução de consultas.

Antes de começar

Funções necessárias

Para receber as autorizações de que precisa para criar um Dataproc Metastore e um cluster do Dataproc, peça ao seu administrador para lhe conceder as seguintes funções do IAM:

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Estas funções predefinidas contêm as autorizações necessárias para criar um Dataproc Metastore e um cluster do Dataproc. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

São necessárias as seguintes autorizações para criar um Dataproc Metastore e um cluster do Dataproc:

  • Para criar um Dataproc Metastore: metastore.services.create na conta de utilizador ou na conta de serviço
  • Para criar um cluster do Dataproc: dataproc.clusters.create na conta de utilizador ou na conta de serviço
  • Para aceder ao diretório do armazém do Hive: orgpolicy.policy.get1,resourcemanager.projects.get,resourcemanager.projects.list,storage.objects.*,storage.multipartUploads.* na conta de serviço da VM do Dataproc

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Para mais informações sobre as funções e as autorizações específicas do Dataproc Metastore, consulte o artigo Faça a gestão do acesso com o IAM.

Clusters do Dataproc

O Dataproc é um serviço Apache Spark e Apache Hadoop gerido que lhe permite tirar partido das ferramentas de dados de código aberto para processamento em lote, consultas, streaming e aprendizagem automática.

Considerações

Antes de criar e anexar um cluster do Dataproc, verifique que protocolo de ponto final o seu serviço Dataproc Metastore está a usar. Este protocolo define como os clientes do Hive Metastore acedem aos metadados armazenados no Dataproc Metastore. Esta escolha também pode afetar as funcionalidades que pode integrar e usar com o seu serviço.

Apache Thrift

Se usar o protocolo de ponto final Apache Thrift, considere os seguintes requisitos de rede:

  • Por predefinição, deve criar o cluster do Dataproc e o serviço Dataproc Metastore na mesma rede. O cluster do Dataproc também pode usar uma sub-rede da rede do serviço Dataproc Metastore.

  • Se o seu cluster do Dataproc pertencer a um projeto diferente do da rede, tem de configurar autorizações de rede partilhadas.

  • Se o seu cluster do Dataproc pertencer a um projeto diferente do serviço de Metastore do Dataproc, tem de configurar autorizações adicionais antes de criar um cluster do Dataproc.

gRPC

Se usar o protocolo de ponto final gRPC, considere os seguintes requisitos de rede:

Crie um cluster e anexe um Dataproc Metastore

As instruções seguintes mostram como criar um cluster do Dataproc e estabelecer ligação ao mesmo a partir de um serviço do Dataproc Metastore. Estas instruções partem do princípio de que já criou um serviço do Dataproc Metastore.

  • Antes de criar o cluster do Dataproc, certifique-se de que a imagem do Dataproc que escolher é compatível com a versão do metastore do Hive que selecionou quando criou o Dataproc Metastore. Para mais informações, consulte a lista de versões de imagens do Dataproc.
  • Para otimizar a conetividade de rede, crie o cluster do Dataproc na mesma região que o serviço Dataproc Metastore.

Consola

  1. Na Google Cloud consola, abra a página Criar um cluster do Dataproc:

    Abra Crie um cluster

  2. No campo Nome do cluster, introduza um nome para o cluster.

  3. Nos menus Região e Zona, selecione a mesma região em que criou o serviço Dataproc Metastore. Pode escolher qualquer zona.

  4. Clique no separador Personalizar cluster.

  5. Na secção Configuração de rede, selecione a mesma rede em que criou o serviço Dataproc Metastore.

  6. Na secção Dataproc Metastore, selecione o serviço Dataproc Metastore que quer anexar. Se ainda não tiver criado um, pode selecionar Criar novo serviço.

  7. Opcional: se o seu serviço Dataproc Metastore usar o protocolo de ponto final gRPC:

    1. Clique no separador Gerir segurança.
    2. Na secção Acesso ao projeto, selecione Ativa o âmbito da plataforma na nuvem para este cluster.
  8. Configure as restantes opções de serviço conforme necessário.

  9. Para criar o cluster, clique em Criar.

    O novo cluster é apresentado na lista Clusters. O estado do cluster é apresentado como Aprovisionamento até o cluster estar pronto a ser usado. Quando estiver pronto para utilização, o estado muda para Em execução.

CLI gcloud

Para criar um cluster e anexar um Dataproc Metastore, execute o seguinte comando gcloud dataproc clusters create:

gcloud dataproc clusters create CLUSTER_NAME \
    --dataproc-metastore=projects/PROJECT_ID/locations/LOCATION/services/SERVICE \
    --region=LOCATION \
    --scopes=SCOPES

Substitua o seguinte:

  • CLUSTER_NAME: o nome do seu novo cluster do Dataproc.
  • PROJECT_ID: o ID do projeto no qual criou o serviço Dataproc Metastore.
  • LOCATION: a mesma região em que criou o serviço de Metastore do Dataproc.
  • SERVICE: o nome do serviço Dataproc Metastore que está a associar ao cluster.
  • SCOPES: (Opcional) Se o seu serviço Dataproc Metastore usar o protocolo de ponto final gRPC, use cloud-platform.

REST

Siga as instruções da API para criar um cluster usando o APIs Explorer.

Anexe um cluster através das propriedades do cluster do Dataproc

Também pode anexar um cluster do Dataproc a um Dataproc Metastore usando propriedades do Dataproc. Estas propriedades incluem o ENDPOINT_URI do Dataproc Metastore e WAREHOUSE_DIR.

Use estas instruções se o seu serviço Dataproc Metastore usar o Private Service Connect ou se quiser anexar um cluster do Dataproc à versão auxiliar do seu serviço Dataproc Metastore.

Existem duas formas de anexar um cluster do Dataproc através das propriedades ENDPOINT_URI e WAREHOUSE_DIR:

Opção 1: durante a criação de um cluster do Dataproc

Quando criar um cluster do Dataproc, use a flag properties com a seguinte configuração do Hive.

gcloud dataproc clusters create CLUSTER_NAME \
     --properties="hive:hive.metastore.uris=ENDPOINT_URI,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR/hive-warehouse"

Substitua o seguinte:

Opção 2: atualize o ficheiro hive-site.xml

Também pode anexar um cluster do Dataproc modificando diretamente o ficheiro hive-site.xml do cluster.

  1. Estabeleça ligação ao cluster .*-m através de SSH.
  2. Abra o ficheiro /etc/hive/conf/hive-site.xml e modifique as seguintes linhas:

    <property>
       <name>hive.metastore.uris</name>
       <!-- Update this value. -->
       <value>ENDPOINT_URI</value>
    </property>
    <!-- Add this property entry. -->
    <property>
       <name>hive.metastore.warehouse.dir</name>
       <value>WAREHOUSE_DIR</value>
    </property>
    

    Substitua o seguinte:

  3. Reinicie o HiveServer2:

    sudo systemctl restart hive-server2.service
    

Clusters autogeridos

Um cluster autogerido pode ser uma instância do Apache Hive, uma instância do Apache Spark ou um cluster do Presto.

Associe um cluster autogerido

Defina os seguintes valores no ficheiro de configuração do cliente:

hive.metastore.uris=ENDPOINT_URI
hive.metastore.warehouse.dir=WAREHOUSE_DIR

Substitua o seguinte:

O que se segue?