Versões auxiliares

Esta página explica como usar a funcionalidade de versões auxiliares com o Dataproc Metastore.

As versões auxiliares permitem-lhe associar duas versões diferentes de um metastore do Hive a um único serviço de Metastore do Dataproc. Esta configuração permite suportar vários motores de processamento de dados que precisam de ser executados em diferentes versões do metastore do Hive.

Por exemplo, usando versões auxiliares, pode associar vários clusters do Dataproc ao mesmo serviço do Dataproc Metastore. Nesta configuração, um cluster pode executar a versão 2.0 do Dataproc, enquanto o outro executa a versão 1.5 do Dataproc. O cluster do Dataproc 2.0 pode estabelecer ligação a um ponto final que expõe a versão 3.1.2 do Hive, enquanto o cluster do Dataproc 1.5 estabelece ligação a um ponto final que expõe a versão 2.3.6 do Hive.

Como funcionam as versões auxiliares

Quando ativa as versões auxiliares, o Dataproc Metastore expõe um ponto final separado para cada versão do Hive metastore. No entanto, ambos os pontos finais continuam a partilhar a mesma base de dados de metadados.

Esta funcionalidade não lhe permite usar diferentes conjuntos de metadados com um único serviço do Dataproc Metastore. Em alternativa, oferece uma forma de estender e melhorar a compatibilidade entre os seus serviços.

Considerações

Geral

  • Só pode criar uma versão auxiliar para cada serviço de Metastore do Dataproc.

  • A versão auxiliar tem de ser configurada para usar uma versão do Hive metastore inferior à versão principal.

  • A versão auxiliar mantém um ficheiro de registo separado da versão principal. Para depurar problemas do metastore do Hive, pode usar o Cloud Logging.

Suporte de funcionalidades

  • A versão auxiliar não suporta as seguintes funcionalidades:

  • Alguns métodos do Hive podem não ser compatíveis entre a versão auxiliar e a versão principal. Esta compatibilidade depende das versões do Hive que está a usar para as versões principal e auxiliar, bem como dos métodos compatíveis entre as versões do Hive.

  • Nem todas as funções de uma instância principal do Dataproc Metastore são suportadas pela versão auxiliar. Por exemplo, a inserção de registos numa tabela transacional do Hive não é suportada com uma interface de cliente do Hive 2 com uma versão auxiliar 2.3.6. No entanto, esta operação é suportada com um cliente Hive 3 que interage com a versão principal 3.1.2.

    Se uma funcionalidade numa versão inferior do Hive for descontinuada numa versão superior do Hive, a versão auxiliar inferior correspondente não suporta a funcionalidade descontinuada. Por exemplo, o Hive 2 suporta índices, mas uma versão auxiliar que execute o Hive 2.3.6 não suporta o índice se a versão principal executar o Hive 3.1.2.

  • A criação de tabelas transacionais através da versão auxiliar ou a inserção de dados em tabelas transacionais na versão auxiliar é impedida.

Propriedades partilhadas entre versões

Quando cria uma versão auxiliar, algumas propriedades são partilhadas e permanecem comuns entre a versão auxiliar e a versão principal. As outras propriedades não são partilhadas e são separadas entre ambas as versões.

A tabela seguinte lista estas diferenças.

Propriedades Comum Separar
Ponto final
Substituições da configuração do Hive*
Configuração do Kerberos
Protocolo de ponto final (Thrift/gRPC)
Porta Thrift
Contentor do Cloud Storage de artefactos
Nível
Período de manutenção
Canal de lançamento
Configuração de encriptação
Tipo de base de dados
Botão de sincronização do catálogo de dados
Métrica de contagem de pedidos
Configurações de rede

* As substituições da configuração do Hive permanecem separadas entre a versão auxiliar e a versão principal. No entanto, a versão auxiliar faz referência a uma lista unida das substituições (principal + auxiliar). Neste caso, a configuração auxiliar tem precedência sobre a configuração principal.

Antes de começar

Funções necessárias

Para receber a autorização de que precisa para criar um Dataproc Metastore que use versões auxiliares, peça ao seu administrador que lhe conceda as seguintes funções de IAM no seu projeto, com base no princípio do menor privilégio:

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.

Esta função predefinida contém a autorização metastore.services.create , que é necessária para criar um Dataproc Metastore que use versões auxiliares.

Também pode obter esta autorização com funções personalizadas ou outras funções predefinidas.

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

Crie uma versão auxiliar para um novo serviço

O exemplo seguinte mostra uma versão abreviada dos passos que segue para ativar versões auxiliares. Para ver instruções passo a passo completas sobre todo o processo que tem de seguir, consulte o artigo Crie um Dataproc Metastore.

Consola

  1. Na Google Cloud consola, abra a página Dataproc Metastore:

    Abra o Dataproc Metastore

  2. Na parte superior da página Dataproc Metastore, clique no botão Criar.

    É apresentada a página Criar serviço.

  3. Em Configuração da versão auxiliar, ative as versões auxiliares.

  4. Clique em Adicionar versão auxiliar.

    1. Introduza um nome para a versão auxiliar.

    2. Selecione uma versão para a versão auxiliar.

    3. Opcional: para aplicar um mapeamento à versão auxiliar, clique em + Adicionar substituições.

    4. Clique em Concluído.

  5. Escolha as restantes configurações para o seu serviço, conforme necessário.

  6. Clique em Enviar.

CLI gcloud

  1. Para criar um serviço Dataproc Metastore com uma versão auxiliar, execute um dos seguintes comandos gcloud metastore services create:

    gcloud metastore services create SERVICE \
        --location=LOCATION \
        --auxiliary-versions=AUXILIARY_VERSIONS, ...
    
    • SERVICE: o nome do seu serviço do Dataproc Metastore.
    • LOCATION: a região na qual quer criar o seu serviço Dataproc Metastore.
    • AUXILIARY_VERSIONS: uma lista separada por vírgulas das versões do Hive metastore a implementar para a sua versão auxiliar. Apenas é suportada uma versão auxiliar. Use o seguinte formato "2.3.6".
    • AUXILIARY_VERSIONS_FROM_FILE: um caminho para um ficheiro YAML que contém a configuração das versões auxiliares. Para mais informações e um exemplo, consulte a documentação do SDK.
  2. Verifique se a criação foi bem-sucedida.

curl

Para criar um serviço de Metastore do Dataproc com uma versão auxiliar, use o método create.

curl -X POST -s -i \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -d '{"network":"projects/PROJECT_ID/global/networks/default", "port": 9083, "hive_metastore_config": {"auxiliary_versions": {"aux-version1": {"version": "AUX_VERSION"} } } }' \
     -H "Content-Type:application/json" \
     https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services?service_id=SERVICE_ID

Substitua o seguinte:

  • SERVICE_ID: o nome do seu novo serviço do Dataproc Metastore.
  • PROJECT_ID: o ID do projeto no qual está a criar o serviço Dataproc Metastore. Google Cloud
  • LOCATION: a região onde o seu Dataproc Metastore reside.
  • AUX_VERSIONS: uma lista separada por vírgulas das versões do Hive metastore a implementar. Apenas é suportada uma versão auxiliar.

Atualize uma versão auxiliar de um serviço existente

As instruções seguintes mostram como atualizar um serviço Dataproc Metastore existente que usa versões auxiliares.

Quando executa uma operação de atualização, pode concluir as seguintes tarefas:

  • Adicione uma nova versão auxiliar.
  • Elimine uma versão auxiliar existente.
  • Adicione ou modifique substituições de uma versão auxiliar existente.

Consola

  1. Na Google Cloud consola, abra a página Dataproc Metastore:

    Abra o Dataproc Metastore

  2. Na página Dataproc Metastore, clique no nome do serviço do serviço que quer atualizar.

    É apresentada a página Detalhes do serviço.

  3. No separador Configuração, clique em Editar.

    É apresentada a página Editar serviço.

  4. Na secção Configuração da versão auxiliar, clique no botão para ativar ou desativar as versões auxiliares.

    Pode concluir as seguintes tarefas:

    1. Para eliminar uma versão auxiliar existente, clique em Eliminar.

    2. Para adicionar uma nova versão auxiliar, clique em Adicionar versão auxiliar.

    3. Para aplicar um mapeamento de substituição a uma versão auxiliar, clique em + Adicionar substituições.

  5. Clique em Enviar.

CLI gcloud

  1. Para atualizar um serviço do Dataproc Metastore que usa uma versão auxiliar, execute um dos seguintes comandos gcloud metastore services update:

    gcloud metastore services update SERVICE \
       --location=LOCATION \
       --add-auxiliary-versions=AUXILIARY_VERSIONS, ...
    

    ou

    gcloud metastore services update SERVICE \
       --location=LOCATION \
       --update-auxiliary-versions-from-file=AUXILIARY_VERSIONS_FROM_FILE
    

    Substitua o seguinte:

    • SERVICE: o nome do seu serviço do Dataproc Metastore.
    • LOCATION: a região onde o seu Dataproc Metastore reside.
    • AUXILIARY_VERSIONS: uma lista separada por vírgulas de versões auxiliares do metastore do Hive a implementar.
    • AUXILIARY_VERSIONS_FROM_FILE: um caminho para um ficheiro YAML que contém a configuração das versões auxiliares. Para mais informações e um exemplo, consulte a documentação do SDK.
  2. Verifique se a atualização foi bem-sucedida.

curl

Para atualizar um serviço do Dataproc Metastore que usa uma versão auxiliar, use o método patch.

curl -X PATCH -s -i \
   -H "Authorization: Bearer $(gcloud auth print-access-token)" \
   -d '{"hive_metastore_config": {"auxiliary_versions": {"aux-version1": {"version": "AUX_VERSION} } } }' \
   -H "Content-Type:application/json" \
   https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE_ID?update_mask=hive_metastore_config.auxiliary_versions

Substitua o seguinte:

  • SERVICE_ID: o nome do seu serviço do Dataproc Metastore.
  • PROJECT_ID: o ID do projeto no qual está a criar o cluster de serviço do Dataproc Metastore. Google Cloud
  • LOCATION: a região em que o seu Dataproc Metastore reside.
  • AUX_VERSIONS: uma lista separada por vírgulas de versões auxiliares do metastore do Hive a implementar.

O que se segue?