Sobre a federação de metadados

A federação de metadados é um serviço que permite acessar várias fontes de metadados em um único endpoint.

Para configurar a federação, crie um serviço de federação e, em seguida, configure suas fontes de metadados. Depois, o serviço expõe um único endpoint do gRPC que você pode que você usará para acessar todos os seus metadados.

Por exemplo, usando a federação, você pode criar um cluster do Dataproc que expõe vários serviços do metastore do Dataproc por meio de uma em um único endpoint. Depois, é possível executar jobs de Big Data por meio de código aberto (OSS), como Spark ou Hive, para acessar seus metadados no vários metastores.

Como a federação funciona

Cargas de trabalho de Big Data do OSS executadas no Spark ou no Hive enviam solicitações para a API Metastore do Hive para buscar metadados no ambiente de execução.

  • Interface do metastore do Hive oferece suporte a métodos de leitura e gravação. O serviço de federação expõe uma versão gRPC da interface do metastore do Hive.
  • No momento da execução, quando o serviço de federação recebe uma solicitação, ele verifica a classificação da origem para recuperar os metadados apropriados.

Origens de metadados

Ao criar um serviço de federação, é necessário adicionar uma origem de metadados. É possível usar as seguintes origens como metalojas de back-end:

  • Uma instância do metastore do Dataproc.
  • Um projeto que contém um ou mais conjuntos de dados do BigQuery.
  • Um lake do Dataplex (pré-lançamento).

Restrições de fonte

A seção a seguir lista as restrições que você precisa seguir ao usar várias origens de metadados.

Todas as origens

As restrições a seguir se aplicam a todas as origens de metadados:

  • Um serviço de federação não contém seus próprios dados. Em vez disso, a federação serviço apenas exibe metadados de uma de suas fontes de metadados.
  • Um serviço de federação não pode ser uma fonte de metadados em outro serviço de federação.

Dataproc Metastore

Se você estiver usando um metastore do Dataproc como origem, siga as instruções a seguir: restrições são aplicáveis:

  • Os serviços de federação só estão disponíveis por endpoints gRPC. Para usar um Metastore do Dataproc com federação, crie seu metastore a um endpoint gRPC.
  • Os serviços de federação podem ser anexados a serviços do Metastore do Dataproc em uma única região. Os serviços de federação não oferecem suporte a serviços do metastore do Dataproc em várias regiões.

BigQuery

Se você estiver usando um projeto que contém conjuntos de dados do BigQuery como fonte, será necessário atender às seguintes condições:

  • Conceda os papéis corretos do IAM para acessar o projeto que contém a conjuntos de dados do BigQuery.
  • Adicione pelo menos um serviço do metastore do Dataproc como origem, junto com os conjuntos de dados do BigQuery.

Lakes do Dataplex

  • Conceda um papel do IAM que contenha a permissão dataplex.lakes.get.
  • Adicione pelo menos um serviço do metastore do Dataproc como origem. junto com o Dataplex Lake.

Ordem da fonte

Seu serviço de federação processa solicitações de metadados em ordem de prioridade. Isso conceito é conhecido como ordenação de origem. No ambiente de execução, quando o serviço de federação recebe uma solicitação, ele verifica a ordem da origem e conclui uma das seguintes ações:

  • Se a solicitação contiver um nome de banco de dados. A solicitação é roteada para a metastore de back-end que contém o nome do banco de dados. Se mais de um metastore contiver o mesmo nome de banco de dados, a solicitação será roteada para o metastore com a classificação mais baixa.
  • Se a solicitação cria ou exclui um banco de dados. A solicitação é encaminhada para a metastore com a classificação mais baixa.
  • Se a solicitação não tiver um nome de banco de dados e não criar ou remover um banco de dados. A solicitação é roteada para a instância do Dataproc Metastore com a classificação mais baixa. Algumas exemplos de solicitações do Hive Metastore que não especificam um banco de dados são set_ugi e create_database.
  • Se nenhum dos metastores contiver um banco de dados. O mecanismo OSS responde com o equivalente a um erro não encontrado.

A seguir