O Knowledge Catalog (antigo Dataplex Universal Catalog) oferece modelos com tecnologia do Dataflow para realizar tarefas comuns de processamento de dados, como ingestão de dados, processamento e gerenciamento do ciclo de vida dos dados. Este guia descreve como configurar e executar modelos de processamento de dados.
Antes de começar
Os modelos do Knowledge Catalog são baseados no Dataflow. Antes de usar os modelos, ative as APIs Dataflow.
Observe o seguinte:
Todos os modelos são compatíveis com as opções comuns de pipeline do Dataflow.
O Knowledge Catalog usa pipelines de dados para programar as tarefas definidas pelos modelos.
Só é possível conferir as tarefas programadas pelo Knowledge Catalog no console Google Cloud , na página Knowledge Catalog.
Modelo: converter dados brutos em dados selecionados
O modelo de conversão de formato de arquivo do Knowledge Catalog converte dados em um recurso do Knowledge Catalog Cloud Storage ou uma lista de entidades do Knowledge Catalog armazenadas em formatos CSV ou JSON em dados de formato Parquet ou Avro em outro recurso do Knowledge Catalog. O layout da partição é preservado na conversão. Ele também oferece suporte à compactação dos arquivos de saída.
Parâmetros do modelo
| Parâmetro | Descrição |
|---|---|
inputAssetOrEntitiesList |
O recurso ou as entidades do Knowledge Catalog que
contêm os arquivos de entrada. Esse parâmetro precisa seguir o formato:
projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>
ou projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/entities/<entity1-name>,projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/entities/<entity 2 name>... |
outputFileFormat |
O formato do arquivo de saída no Cloud Storage. Esse parâmetro precisa
seguir o formato: PARQUET ou AVRO. |
outputAsset |
O nome do recurso do Knowledge Catalog que contém o
bucket do Cloud Storage em que os arquivos de saída serão armazenados. Este
parâmetro precisa seguir o formato: projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>. O
outputAsset pode ser encontrado no Google Cloud console, na
guia Details do recurso do Knowledge Catalog. |
outputFileCompression |
Opcional: a compactação do arquivo de saída. O valor padrão desse
parâmetro é SNAPPY. Outros valores para o parâmetro podem ser
UNCOMPRESSED, SNAPPY, GZIP, ou
BZIP2. BZIP2 não é compatível com arquivos
PARQUET. |
writeDisposition |
Opcional: especifica a ação que ocorre se um arquivo de destino
já existir. O valor padrão desse parâmetro é SKIP,
que sinaliza para processar apenas os arquivos que não existem no
diretório de destino. Outros valores para o parâmetro podem ser
OVERWRITE (substituir todos os arquivos atuais) ou FAIL
(não processar nada e produzir um erro se pelo menos um arquivo de destino
já existir). |
updateDataplexMetadata |
Opcional: se os metadados do Knowledge Catalog precisam ser atualizados para as
entidades recém-criadas. O valor padrão desse parâmetro é
Se ativado, o pipeline vai copiar automaticamente o esquema da origem para as entidades de destino do Knowledge Catalog, e a descoberta automatizada do Knowledge Catalog não será executada para elas. Use essa flag se o esquema dos dados de origem (brutos) for gerenciado pelo Knowledge Catalog. |
Executar o modelo
Console
No Google Cloud console, acesse a página Processo do Knowledge Catalog.
Clique em Criar tarefa.
Em Converter para formatos selecionados, clique em Criar tarefa.
Escolha um lake do Knowledge Catalog.
Forneça um nome de tarefa.
Escolha uma região para a execução da tarefa.
Preencha os parâmetros obrigatórios.
Clique em Continuar.
gcloud
No shell ou no terminal, execute o modelo:
gcloud beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_File_Format_Conversion_Preview \ --parameters \ inputAssetOrEntitiesList=INPUT_ASSET_OR_ENTITIES_LIST,\ outputFileFormat=OUTPUT_FILE_FORMAT,\ outputAsset=OUTPUT_ASSET
Substitua:
JOB_NAME: a job name of your choice PROJECT_ID: your template project ID REGION_NAME: region in which to run the job INPUT_ASSET_OR_ENTITIES_LIST: path to your JDBC drivers OUTPUT_FILE_FORMAT: your output file format in Cloud Storage OUTPUT_ASSET: your Knowledge Catalog output asset ID
REST
Envie uma solicitação POST HTTP:
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/REGION_NAME/flexTemplates:launch
{
"launch_parameter": {
"jobName": "JOB_NAME",
"parameters": {
"inputAssetOrEntitiesList": "INPUT_ASSET_OR_ENTITIES_LIST",
"outputFileFormat": "OUTPUT_FILE_FORMAT",
"outputAsset": "OUTPUT_ASSET",
},
"containerSpecGcsPath": "gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_File_Format_Conversion_Preview",
}
}
Substitua:
PROJECT_ID: your template project ID REGION_NAME: region in which to run the job JOB_NAME: a job name of your choice INPUT_ASSET_OR_ENTITIES_LIST: path to your JDBC drivers OUTPUT_FILE_FORMAT: your output file format in Cloud Storage OUTPUT_ASSET: your Knowledge Catalog output asset ID
Modelo: dados de camada de um recurso do BigQuery para um recurso do Cloud Storage
O modelo do Knowledge Catalog BigQuery para Cloud Storage copia dados de um recurso do Knowledge Catalog BigQuery para um recurso do Knowledge Catalog Cloud Storage em um layout e formato compatíveis com o Knowledge Catalog. É possível especificar um conjunto de dados do BigQuery ou uma lista de tabelas do BigQuery a serem copiadas. Para mais flexibilidade, o modelo permite copiar dados mais antigos que uma data de modificação especificada e, opcionalmente, excluir dados do BigQuery após uma cópia bem-sucedida.
Ao copiar tabelas particionadas do BigQuery para o Cloud Storage:
- O modelo cria partições no estilo Hive no bucket do Cloud Storage.
O BigQuery não pode ter a chave de partição no estilo Hive igual a uma coluna atual. É possível usar a opção
enforceSamePartitionKeypara criar uma nova chave de partição ou manter a mesma chave de partição, mas renomear a coluna atual. - A descoberta do Knowledge Catalog registra o tipo de partição como
stringao criar uma tabela do BigQuery (e uma tabela no Dataproc Metastore). Isso pode afetar os filtros de partição atuais.
Há um limite para o número de tabelas e partições que podem ser transformadas em uma única execução de modelo, que é de aproximadamente 300. O número exato depende do comprimento dos nomes das tabelas e de outros fatores.
Parâmetros do modelo
| Parâmetro | Descrição |
|---|---|
sourceBigQueryDataset |
O conjunto de dados do BigQuery para dados de camada. Esse parâmetro
precisa conter um nome de recurso do Knowledge Catalog no formato
projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> ou um ID de conjunto de dados do BigQuery no formato
projects/<name>/datasets/<dataset-id>. |
destinationStorageBucketAssetName |
O nome do recurso do Knowledge Catalog para o bucket do Cloud Storage
para dados de camada. Esse parâmetro precisa seguir o formato
projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>. |
tables |
Opcional: uma lista de tabelas do BigQuery separadas por vírgulas para camada. Se nenhuma lista for fornecida, todas as tabelas serão em camadas. As tabelas precisam ser especificadas apenas pelo nome (sem prefixo de projeto ou conjunto de dados) e diferenciam maiúsculas de minúsculas. |
exportDataModifiedBeforeDateTime |
Opcional: use esse parâmetro para mover dados mais antigos que essa data (e
hora opcional). Para tabelas particionadas do BigQuery, mova
as partições modificadas pela última vez antes dessa data/hora. Para tabelas não particionadas
mova se a tabela foi modificada pela última vez antes dessa data/hora. Se não
especificado, mova todas as tabelas/partições. A data/hora é analisada no
fuso horário padrão por padrão, mas os sufixos opcionais Z e
+HH:mm são aceitos. Esse parâmetro precisa seguir o formato
YYYY-MM-DD ou YYYY-MM-DDTHH:mm:ss ou
YYYY-MM-DDTHH:mm:ss+03:00.
A data/hora relativa
também é aceita e precisa seguir o formato
-PnDTnHnMn.nS (precisa começar com -P, que
indica o tempo no passado).
|
fileFormat |
Opcional: o formato do arquivo de saída no Cloud Storage. O valor padrão desse parâmetro é PARQUET. Outro valor para o
parâmetro pode ser AVRO. |
fileCompression |
Opcional: a compactação do arquivo de saída. O valor padrão desse
parâmetro é SNAPPY. Outros valores para o parâmetro podem ser
UNCOMPRESSED, SNAPPY, GZIP, ou
BZIP2. BZIP2 não é compatível com
PARQUET arquivos. |
deleteSourceData |
Opcional: se os dados de origem precisam ser excluídos do BigQuery
após uma exportação bem-sucedida. Os valores podem ser true ou
false. O valor padrão desse parâmetro é
false. |
partitionIdRegExp |
Opcional: processe apenas partições com ID de partição que correspondam a essa expressão regular. Se nenhum valor for fornecido, esse parâmetro será definido como padrão para processar tudo. |
writeDisposition |
Opcional: especifica a ação que ocorre se um arquivo de destino
já existir, o que significa que uma ou mais tabelas/partições já foram
pré-camadas. O valor padrão desse parâmetro é SKIP,
que sinaliza para processar apenas as tabelas/partições que ainda não foram
pré-camadas. Outros valores para o parâmetro podem ser
OVERWRITE (substituir todos os arquivos atuais) ou FAIL
(não processar nada e produzir um erro se pelo menos um arquivo de destino
já existir). |
enforceSamePartitionKey |
Opcional: se a mesma chave de partição precisa ser aplicada. Devido a uma BigQuery limitation, não é possível que a chave de partição key (no caminho do arquivo) em uma tabela externa particionada tenha o mesmo name as one of the columns in the file. Se esse parâmetro for verdadeiro (que é o valor padrão), a chave de partição do arquivo de destino será definida como o nome da coluna de partição original, e a coluna no arquivo será renomeada. Se for falso, a chave de partição será renomeada. Por exemplo, se a tabela original for particionada em uma coluna chamada
Se |
updateDataplexMetadata |
Opcional: se os metadados do Knowledge Catalog precisam ser atualizados para as
entidades recém-criadas. O valor padrão desse parâmetro é
Se ativado, o pipeline vai copiar automaticamente o esquema da origem para as entidades de destino do Dataplex, e a descoberta automatizada do Knowledge Catalog não será executada para elas. Use essa flag se você estiver gerenciando o esquema das tabelas de origem do BigQuery. |
Executar o modelo
Console
No Google Cloud console, acesse a página Processo do Knowledge Catalog.
Clique em Criar tarefa.
Em Nível do BQ para os recursos do GCS, clique em Criar tarefa.
Escolha um lake do Knowledge Catalog.
Forneça um nome de tarefa.
Escolha uma região para a execução da tarefa.
Preencha os parâmetros obrigatórios.
Clique em Continuar.
gcloud
No shell ou no terminal, execute o modelo:
gcloud beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_BigQuery_to_GCS_Preview \ --parameters \ sourceBigQueryDataset=SOURCE_ASSET_NAME_OR_DATASET_ID,\ destinationStorageBucketAssetName=DESTINATION_ASSET_NAME
Substitua:
JOB_NAME: a job name of your choice PROJECT_ID: your template project ID REGION_NAME: region in which to run the job SOURCE_ASSET_NAME_OR_DATASET_ID: your Knowledge Catalog asset name for the source BigQuery dataset, or the dataset ID DESTINATION_ASSET_NAME: your Knowledge Catalog asset name for the destination Cloud Storage bucket
REST
Envie uma solicitação POST HTTP:
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/REGION_NAME/flexTemplates:launch
{
"launch_parameter": {
"jobName": "JOB_NAME",
"parameters": {
"sourceBigQueryDataset": "SOURCE_ASSET_NAME_OR_DATASET_ID",
"destinationStorageBucketAssetName": "DESTINATION_ASSET_NAME",
},
"containerSpecGcsPath": "gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_BigQuery_to_GCS_Preview",
}
}
Substitua:
PROJECT_ID: your template project ID REGION_NAME: region in which to run the job JOB_NAME: a job name of your choice SOURCE_ASSET_NAME_OR_DATASET_ID: your Knowledge Catalog asset name for the source BigQuery dataset, or the dataset ID DESTINATION_ASSET_NAME: your Knowledge Catalog asset name for the destination Cloud Storage bucket REGION_NAME: region in which to run the job
Programar modelos do Dataflow personalizados ou fornecidos por terceiros Google Cloud
O Knowledge Catalog permite programar e monitorar qualquer um dos Google Cloud-modelos do Dataflow fornecidos ou seu modelo Dataflow personalizado no console.
Programar
Console
No Google Cloud console, acesse a página Processo do Knowledge Catalog.
Clique em Criar tarefa.
Em Criar um pipeline do Dataflow, clique em Criar pipeline do Dataflow.
Escolha um lake do Knowledge Catalog.
Forneça um nome de tarefa.
Escolha uma região para executar a tarefa.
Escolha um modelo do Dataflow.
Preencha os parâmetros obrigatórios.
Clique em Continuar.
Monitoramento
Console
No Google Cloud console, acesse a página Processo do Knowledge Catalog.
Clique em Pipelines do Dataflow.
Filtre por nome do lake ou do pipeline.