Processar dados usando modelos

O Dataplex oferece modelos, com tecnologia do Dataflow, para realizar tarefas comuns de processamento de dados, como ingestão, 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 Dataplex são fornecidos pelo Dataflow. Antes de usar os modelos, ative as APIs do Dataflow.

Ativar as APIs Dataflow

Observações

  • Todos os modelos dão suporte a Opções de pipeline do Dataflow.

  • O Dataplex usa pipelines de dados agendar as tarefas definidas pelos modelos.

  • Só é possível ver as tarefas que você programa no Dataplex na página Dataplex do console do Google Cloud.

Modelo: converter dados brutos em dados selecionados

O modelo de conversão de formato de arquivo do Dataplex converte dados o recurso do Cloud Storage do Dataplex ou uma lista de Entidades do Dataplex armazenadas nos formatos CSV ou JSON para Parquet ou Dados de formato Avro em outro recurso do Dataplex. 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 Dataplex que contêm os arquivos de entrada. Esse parâmetro deve 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 deve siga o formato: PARQUET ou AVRO.
outputAsset O nome do recurso do Dataplex que contém o bucket do Cloud Storage em que os arquivos de saída serão armazenados. Esse parâmetro precisa seguir o formato: projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>. O outputAsset está disponível no console do Google Cloud, na guia Details do recurso do Dataplex.
outputFileCompression Opcional: a compactação do arquivo de saída. O valor padrão parâmetro é SNAPPY. Outros valores para o parâmetro podem ser UNCOMPRESSED, SNAPPY, GZIP ou BZIP2. BZIP2 não é compatível com PARQUET arquivos.
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 (substitua os arquivos existentes) ou FAIL (não processe nada e produza um erro se ao menos um destino já existe).
updateDataplexMetadata

Opcional: se os metadados do Dataplex serão atualizados para as entidades recém-criadas. O valor padrão desse parâmetro é false.

Se ativada, o pipeline vai copiar automaticamente o esquema da origem para as entidades de destino do Dataplex, e a descoberta automática do Dataplex não será executada para elas. Use essa sinalização se dos dados de origem (brutos) é gerenciado pelo Dataplex.

Executar o modelo

Console

  1. No console do Google Cloud, acesse a página Dataplex:

    Acesse o Dataplex.

  2. Navegue até a visualização Processo.

  3. Clique em Criar tarefa.

  4. Em Converter para formatos selecionados, clique em Criar tarefa.

  5. Escolha um lake do Dataplex.

  6. Dê um nome para a tarefa.

  7. Escolha uma região para a execução da tarefa.

  8. Preencha os parâmetros obrigatórios.

  9. Clique em Continuar.

gcloud

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 Dataplex output asset ID

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

API REST

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 Dataplex output asset ID

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",
 }
}

Modelo: nível dos dados de um recurso do BigQuery para um recurso do Cloud Storage

O modelo do Dataplex do BigQuery para o Cloud Storage copia dados de um recurso do BigQuery do Dataplex para um recurso do Dataplex Cloud Storage em um layout e formato compatível com o Dataplex. É possível especificar Conjunto de dados do BigQuery ou uma lista de tabelas do BigQuery sejam copiadas. Para mais flexibilidade, o modelo permite copiar dados anteriores a uma data de modificação especificada e permite a exclusão opcional de dados do BigQuery após uma cópia.

Ao copiar tabelas particionadas do BigQuery para 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 ser igual a uma coluna existente. Você pode usar a opção enforceSamePartitionKey para criar uma nova chave de partição ou manter a mesma chave de partição, mas renomear a coluna atual.
  • O Dataplex Discovery registra o tipo de partição como string ao criar uma tabela do BigQuery (e uma tabela no Dataproc Metastore). Isso pode afetar seus filtros de partição existentes.

Há um limite no 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 em que os dados serão nivelados. Esse parâmetro precisa conter um nome de recurso do Dataplex no formato projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> ou um ID do conjunto de dados do BigQuery no formato projects/<name>/datasets/<dataset-id>.
destinationStorageBucketAssetName O nome do recurso do Dataplex para o bucket do Cloud Storage aos dados por nível. Esse parâmetro precisa seguir o formato projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>.
tables Opcional: uma lista separada por vírgulas de tabelas do BigQuery para camada de armazenamento. Se nenhuma lista for fornecida, todas as tabelas serão classificadas. As tabelas precisam ser especificadas apenas pelo nome (sem prefixo de projeto/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 (horário 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. Caso contrário especificado, move 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. Data/hora relativa também é compatível e deve seguir o formato -PnDTnHnMn.nS (precisa começar com -P, que indica um horário no passado).
fileFormat Opcional: o formato do arquivo de saída no Cloud Storage. O padrão o valor desse parâmetro é PARQUET. Outro valor para o atributo pode ser AVRO.
fileCompression Opcional: a compactação do arquivo de saída. O valor padrão 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 é necessário excluir dados de origem do BigQuery após a exportação. Os valores podem ser true ou false. O valor padrão desse parâmetro é false.
partitionIdRegExp Opcional: processar partições com um ID de partição correspondente a este padrão . Se nenhum valor for fornecido, o parâmetro será definido como processar todos.
writeDisposition Opcional: especifica a ação que ocorrerá se um arquivo de destino já existe, o que significa que uma ou mais tabelas/partições já foram pré-camadas. O valor padrão desse parâmetro é SKIP, que sinais para processar apenas as tabelas/partições que não foram já está pré-pronta. Outros valores para o parâmetro podem ser OVERWRITE (substitui todos os arquivos existentes) ou FAIL (não processa nada e produz um erro se pelo menos um arquivo de destino já existir).
enforceSamePartitionKey

Opcional: se a mesma chave de partição será aplicada. Devido a Limitação do BigQuery, não é possível que a partição chave (no caminho do arquivo) em uma tabela externa particionada para que tenham os mesmos como uma das colunas no arquivo. Se esse parâmetro for verdadeiro (qual for o valor padrão), a chave de partição do arquivo de destino será definida como o nome da coluna da partição original e a coluna no arquivo é renomeada. Se falso, a chave de partição será renomeada.

Por exemplo, se a tabela original for particionada em uma coluna chamada TS e enforceSamePartitionKey=true, o caminho do arquivo de destino é gs://<bucket>/TS=<partition ID>/<file> e a coluna é renomeada como TS_pkey no arquivo. Isso permite que as consultas atuais sejam executadas nas mesmas partições na tabela antiga ou na nova.

Se enforceSamePartitionKey=false, o caminho do arquivo de destino é gs://<bucket>/TS_pid=<partition ID>/<file>, mas o nome da coluna é mantido como TS no arquivo.

updateDataplexMetadata

Opcional: se os metadados do Dataplex serão atualizados para as entidades recém-criadas. O valor padrão desse parâmetro é false:

Se ativada, o pipeline vai copiar automaticamente o esquema da origem para as entidades de destino do Dataplex, e a descoberta automática do Dataplex não será executada para elas. Use essa sinalização se você gerenciar o esquema das tabelas de origem do BigQuery.

Executar o modelo

Console

  1. No console do Google Cloud, acesse a página Dataplex:

    Acesse o Dataplex.

  2. Navegue até a visualização Processo.

  3. Clique em Criar tarefa.

  4. Em Nível do BQ para os recursos do GCS, clique em Criar tarefa.

  5. Escolha um lake do Dataplex.

  6. Dê um nome para a tarefa.

  7. Escolha uma região para a execução da tarefa.

  8. Preencha os parâmetros obrigatórios.

  9. Clique em Continuar.

gcloud

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 Dataplex asset
name for the source BigQuery dataset, or the dataset ID
DESTINATION_ASSET_NAME: your Dataplex asset name for
the destination Cloud Storage bucket

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

API REST

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 Dataplex asset
name for the source BigQuery dataset, or the dataset ID
DESTINATION_ASSET_NAME: your Dataplex asset name for
the destination Cloud Storage bucket
REGION_NAME: region in which to run the job

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",
 }
}

Programar outros modelos do Dataflow personalizados ou fornecidos pelo Google Cloud

Com o Dataplex, você pode programar e monitorar qualquer um dos modelos do Dataflow fornecidos pelo Google Cloud ou seu modelo personalizado no console.

Programar

Console

  1. No console do Google Cloud, acesse a página Dataplex:

    Acesse o Dataplex.

  2. Navegue até a visualização Processo.

  3. Clique em Create Task.

  4. Em Criar um pipeline do Dataflow, clique em Criar pipeline do Dataflow.

  5. Escolher um lake do Dataplex.

  6. Informe o nome da tarefa.

  7. Escolha uma região para executar a tarefa.

  8. Escolha um modelo do Dataflow.

  9. Preencha os parâmetros obrigatórios.

  10. Clique em Continuar.

Monitoramento

Console

  1. No console do Google Cloud, acesse a página Dataplex:

    Acesse o Dataplex.

  2. Navegue até a visualização Processo.

  3. Clique em Pipelines do Dataflow.

  4. Filtrar por nome de pipeline ou lake.