Neste guia, descrevemos os metadados do Dataplex e como é possível e usar as APIs do Dataplex para gerenciar.
Visão geral
O Dataplex verifica o seguinte:
- Recursos de dados estruturados e semiestruturados em data lakes para extrair metadados da tabela para entidades de tabela
- Dados não estruturados, como imagens e textos, para extrair metadados do conjunto de arquivos em entidades de conjunto de arquivos
Você pode usar a API Metadata do Dataplex para fazer o seguinte:
- Acessar, editar e excluir metadados de tabelas e entidades de conjuntos de arquivos
- Criar metadados de entidade de tabela ou conjunto de arquivos próprios
Também é possível analisar metadados do Dataplex das seguintes maneiras:
- Data Catalog para pesquisa e inclusão de tags
- Metastore do Dataproc e BigQuery para tabela consultas de metadados e processamento de análises
APIs Dataplex
Esta seção resume as APIs do Dataplex e os principais recursos com eles.
API do plano de controle
A API do plano de controle do Dataplex permite a criação e gerenciamento de recursos de lake, zona e recurso.
Lago: Uma instância de serviço do Dataplex que permite gerenciar recursos de armazenamento em projetos em uma organização.
Zona: Um agrupamento lógico de recursos em um lake. Usar várias zonas em um lake para organizar dados com base na prontidão, carga de trabalho ou estrutura organizacional.
Recursos: Recursos de armazenamento, com dados armazenados em buckets do Cloud Storage ou Conjuntos de dados do BigQuery, anexados a uma zona dentro de um lake.
API Metadata
Use a API Dataplex Metadata para criar e gerenciar metadados no de tabelas e conjuntos de arquivos. O Dataplex verifica os dados recursos, seja em um lake ou fornecidos por você, para criar entidades e partições. Entidades e partições mantêm referências a objetos e locais de armazenamento físico.
Principais conceitos
- Entidade de tabela:
Metadados de dados estruturados com esquemas bem definidos. As entidades de tabela são identificados exclusivamente pelo ID da entidade e pelo local dos dados. Os metadados da entidade da tabela são consultáveis no BigQuery e no metastore do Dataproc:
- Objetos do Cloud Storage: metadados de objetos do Cloud Storage. que são acessados pelas APIs do Cloud Storage.
- Tabelas do BigQuery: metadados do BigQuery que são acessadas usando as APIs do BigQuery.
- Entidade de conjunto de arquivos:
Metadados sobre dados não estruturados e, normalmente, sem esquema. Os conjuntos de arquivos são identificados de forma exclusiva pelo ID da entidade e pelo local dos dados. Cada conjunto de arquivos tem formato de dados.
- Partições:
Metadados de um subconjunto de dados em uma entidade de tabela ou de conjunto de arquivos, identificados por um conjunto de pares de chave-valor e um local de dados.
Teste a API
Use as páginas de documentação de referência da API lakes.zones.entities e lakes.zones.partitions do Dataplex para conferir os parâmetros e campos associados a cada API. Use o painel Testar esta API que acompanha a documentação de referência. para cada método de API fazer solicitações de API usando parâmetros e campos diferentes. É possível construir, visualizar e enviar suas solicitações sem a necessidade de gerar credenciais e conferir as respostas retornadas pelo serviço.
As seções a seguir fornecem informações para ajudar você a entender e usar as APIs de metadados do Dataplex.
Entidades
Listar entidades
Para limitar a lista de entidades retornadas pelo serviço, adicione
parâmetros de consulta filter
ao URL da solicitação list entities
.
Acessar entidade
Por padrão, a resposta Get Entity
contém a entidade básica
metadados. Para recuperar metadados adicionais do esquema, adicione o
ver
ao URL da solicitação.
Detalhes de compatibilidade: embora os metadados do Dataplex
está registrado centralmente na API de metadados, apenas os metadados de tabela de entidade que são
compatíveis com o BigQuery e o Apache Hive Metastore,
no BigQuery e no metastore do Dataproc.
A API Get Entity
retorna uma
Mensagem CompatibilityStatus
, que indica se os metadados da tabela são compatíveis com o BigQuery e o metastore Hive.
e, em caso negativo, o motivo da incompatibilidade.
Atualizar entidade
Use essa API para editar metadados de entidade, incluindo se você ou O Dataplex vai gerenciar metadados da entidade.
- Essa API executa uma substituição completa de todos os elementos mutáveis Campos Entidade. Os campos Entity a seguir não podem ser alterados. Se forem especificados em uma atualização, ela será ignorada:
- Especifique um valor para todos os campos de entidade mutáveis, incluindo todos os campos de schema, mesmo que os valores não sejam alterados.
- Forneça o
etag (em inglês)
. Para conseguir a etag, primeiro envie uma
entities.get,
que retorna o
etag
da entidade na resposta. - Como atualizar campos de esquema: atualize o esquema da tabela descoberto pelo
Dataplex para melhorar a precisão:
- Se o esquema for um conjunto de arquivos, deixe todos campos de esquema vazios.
- Para definir um campo repetido, configure a
modo
para
REPEATED
. Para definir um campo de estrutura, defina o type comoRECORD
. - É possível definir o campo
userManaged
do esquema para especificar se você ou o Dataplex gerencia os metadados da tabela. A configuração padrão é "Gerenciado pelo Dataplex". SeuserManaged
for definido como verdadeiro, essa configuração será incluído nas informações retornadas daentities.get
solicitação se EntityView é definido comoSCHEMA
ouFULL
.
- Como atualizar campos de partição:
- Para dados particionados em um estilo diferente do Hive, a descoberta do Dataplex
gera automaticamente as chaves de partição. Por exemplo, para o caminho de dados
gs://root/2020/12/31
, chaves de partiçãop0
,p1
ep2
estão gerada. Para tornar as consultas mais intuitivas, é possível atualizarp0
,p1
ep2
parayear
,month
eday
, respectivamente. - Se você atualizar o estilo da partição para o estilo HIVE, o campo da partição será imutável.
- Para dados particionados em um estilo diferente do Hive, a descoberta do Dataplex
gera automaticamente as chaves de partição. Por exemplo, para o caminho de dados
- Atualização de outros campos de metadados:é possível atualizar os campos de metadados gerados automaticamente mimeType, CompressionFormat, CsvOptions e JsonOptions para ajudar na descoberta do Dataplex. Dataplex descoberta vai usar novos valores na próxima execução.
Criar entidade
Use a API entities.create
para criar entidades de metadados de tabela ou conjunto de arquivos.
Preencha os campos opcionais obrigatórios e relevantes ou deixe o Dataplex
do serviço de descoberta
preencha os campos opcionais.
Excluir entidade
- Forneça o
etag (em inglês)
. Você pode receber o ETag enviando primeiro uma solicitação entities.get,
que retorna o
etag
da entidade na resposta.
Se os dados subjacentes de uma tabela ou conjunto de arquivos em uma zona bruta forem excluídos, a tabela ou os metadados do conjunto de arquivos são excluídos automaticamente na próxima Verificação de descoberta. Se os dados subjacentes de uma tabela em uma zona selecionada forem excluídos, os metadados da tabela não serão excluídos, mas uma ação de dados ausente será relatada. Para resolver esse problema, exclua a tabela explicitamente a entidade de metadados por meio da API de metadados.
Partições
Listar partições
Para limitar a lista de partições retornadas pelo serviço, adicione
filtro
parâmetros de consulta ao URL de solicitação list partitions
.
Exemplos:
?filter="Country=US AND State=CA AND City=Sunnyvale"
?filter="year < 2000 AND month > 12 AND Date > 10"
Receber partição
Para receber uma partição, é necessário preencher o URL da solicitação anexando os
valores da chave de partição ao final do URL, formatado para ler como
partitions/value1/value2/…./value10
.
Exemplo: se uma partição tiver valores, {Country=US, State=CA, City=Sunnyvale}
,
o URL da solicitação GET precisa terminar com /partitions/US/CA/Sunnyvale
.
Importante: os valores de URL anexados precisam ser
codificados duas vezes. Por exemplo, url_encode(url_encode(value))
pode
ser usado para codificar "US:CA/CA#Sunnyvale" para que o URL da solicitação termine
com /partitions/US%253ACA/CA%2523Sunnyvale
. O campo de nome na resposta
mantém o formato codificado.
Criar partição
Para criar uma partição personalizada para sua fonte de dados, use o método
API partitions.create
. Especifique os campos
local
com um caminho do Cloud Storage.
Excluir partição
Complete o URL da solicitação anexando valores-chave de partição ao final do
o URL da solicitação, formatado para ser lido como partitions/value1/value2/…./value10
.
Exemplo: se uma partição tiver valores, {Country=US, State=CA, City=Sunnyvale}
,
o URL de solicitação deve terminar com /partitions/US/CA/Sunnyvale
.
Importante:os valores de URL anexados precisam estar em conformidade com
RFC-1034
ou eles precisam ser codificados duas vezes, por exemplo, US:/CA#/Sunnyvale
como US%3A/CA%3A/Sunnyvale
.
A seguir
- Saiba mais sobre como acessar metadados no Apache Spark.