Processe dados com modelos

O Dataplex Universal Catalog oferece modelos, com tecnologia Dataflow, para realizar tarefas comuns de processamento de dados, como o carregamento, o processamento e a gestão 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 Universal Catalog são baseados no Dataflow. Antes de usar modelos, ative as APIs Dataflow.

Ative as APIs Dataflow

Tenha em conta o seguinte:

  • Todos os modelos suportam opções de pipeline do Dataflow comuns.

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

  • Só pode ver as tarefas que agendar através do Dataplex Universal Catalog na consola na página Dataplex Universal Catalog. Google Cloud

Modelo: converta dados não processados em dados organizados

O modelo de conversão de formato de ficheiro do Dataplex Universal Catalog converte dados num recurso do Cloud Storage do Dataplex Universal Catalog ou numa lista de entidades do Dataplex Universal Catalog armazenadas em formatos CSV ou JSON em dados de formato Parquet ou Avro noutro recurso do Dataplex Universal Catalog. O esquema de partição é preservado na conversão. Também suporta a compressão dos ficheiros de saída.

Parâmetros de modelos

Parâmetro Descrição
inputAssetOrEntitiesList O recurso do Dataplex Universal Catalog ou as entidades do Dataplex Universal Catalog que contêm os ficheiros de entrada. Este parâmetro tem de 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 ficheiro de saída no Cloud Storage. Este parâmetro tem de seguir o formato: PARQUET ou AVRO.
outputAsset O nome do recurso do catálogo universal do Dataplex que contém o contentor do Cloud Storage onde os ficheiros de saída vão ser armazenados. Este parâmetro tem de seguir o formato: projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>. Pode encontrar o outputAsset na consola, no separador Google Cloud do recurso do Dataplex Universal Catalog.Details
outputFileCompression Opcional: a compressão do ficheiro de saída. O valor predefinido para este parâmetro é SNAPPY. Outros valores para o parâmetro podem ser UNCOMPRESSED, SNAPPY, GZIP ou BZIP2. A funcionalidade BZIP2 não é suportada para ficheiros PARQUET.
writeDisposition Opcional: especifica a ação que ocorre se já existir um ficheiro de destino. O valor predefinido para este parâmetro é SKIP, que sinaliza o processamento apenas dos ficheiros que não existem no diretório de destino. Outros valores para o parâmetro podem ser OVERWRITE (substituir todos os ficheiros existentes) ou FAIL (não processar nada e produzir um erro se já existir, pelo menos, um ficheiro de destino).
updateDataplexMetadata

Opcional: se deve atualizar os metadados do catálogo universal do Dataplex para as entidades criadas recentemente. O valor predefinido para este parâmetro é false.

Se estiver ativado, o pipeline copia automaticamente o esquema da origem para as entidades do Dataplex de destino, e a deteção automatizada do catálogo universal do Dataplex não é executada para estas. Use esta flag se o esquema dos dados de origem (não processados) for gerido pelo Dataplex.

Execute o modelo

Consola

  1. Na Google Cloud consola, aceda à página Processo do Dataplex Universal Catalog.

    Aceder ao processo

  2. Clique em Criar tarefa.

  3. Em Converter em formatos organizados, clique em Criar tarefa.

  4. Escolha um lake do Dataplex Universal Catalog.

  5. Indique um nome para a tarefa.

  6. Escolha uma região para a execução de tarefas.

  7. Preencha os parâmetros obrigatórios.

  8. Clique em Continuar.

gcloud

Na 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 o seguinte:

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 Universal Catalog output asset ID

REST

Envie um pedido HTTP POST:

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 o seguinte:

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 Universal Catalog output asset ID

Modelo: divida os dados de um recurso do BigQuery em camadas para um recurso do Cloud Storage

O modelo do BigQuery para o Cloud Storage do Dataplex Universal Catalog copia dados de um recurso do BigQuery do Dataplex Universal Catalog para um recurso do Cloud Storage do Dataplex Universal Catalog num esquema e formato compatíveis com o Dataplex Universal Catalog. Pode especificar um conjunto de dados do BigQuery ou uma lista de tabelas do BigQuery a copiar. Para maior flexibilidade, o modelo permite copiar dados anteriores a uma data de modificação especificada e permite, opcionalmente, eliminar 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 ao estilo do Hive no contentor do Cloud Storage. O BigQuery não pode ter a chave de partição no estilo Hive igual a uma coluna existente. Pode usar a opção enforceSamePartitionKey para criar uma nova chave de partição ou manter a mesma chave de partição, mas mudar o nome da coluna existente.
  • A deteção do catálogo universal do Dataplex regista o tipo de partição como string quando cria uma tabela do BigQuery (e uma tabela no Dataproc Metastore). Isto pode afetar os filtros de partição existentes.

Existe um limite para o número de tabelas e partições que podem ser transformadas numa ú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 de modelos

Parâmetro Descrição
sourceBigQueryDataset O conjunto de dados do BigQuery a partir do qual os dados são divididos em camadas. Este parâmetro tem de conter um nome de recurso do catálogo universal 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 catálogo universal do Dataplex para o contentor do Cloud Storage para mover dados para diferentes níveis. Este parâmetro tem de 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 a organizar em camadas. Se não for fornecida nenhuma lista, todas as tabelas vão ter níveis. As tabelas têm de ser especificadas apenas pelo respetivo nome (sem prefixo de projeto ou conjunto de dados) e são sensíveis a maiúsculas e minúsculas.
exportDataModifiedBeforeDateTime Opcional: use este parâmetro para mover dados anteriores a esta data (e hora opcional). Para tabelas do BigQuery particionadas, mova as partições modificadas pela última vez antes desta data/hora. Para tabelas não particionadas, mova se a tabela tiver sido modificada pela última vez antes desta data/hora. Se não for especificado, move todas as tabelas/partições. A data/hora é analisada no fuso horário predefinido por predefinição, mas são suportados os sufixos opcionais Z e +HH:mm. Este parâmetro tem de 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 é suportada e tem de seguir o formato -PnDTnHnMn.nS (tem de começar com -P, que indica a hora no passado).
fileFormat Opcional: o formato do ficheiro de saída no Cloud Storage. O valor predefinido para este parâmetro é PARQUET. Outro valor para o parâmetro pode ser AVRO.
fileCompression Opcional: a compressão do ficheiro de saída. O valor predefinido para este parâmetro é SNAPPY. Outros valores para o parâmetro podem ser UNCOMPRESSED, SNAPPY, GZIP ou BZIP2. A função BZIP2 não é compatível com ficheiros PARQUET.
deleteSourceData Opcional: se pretende eliminar os dados de origem do BigQuery após uma exportação bem-sucedida. Os valores podem ser true ou false. O valor predefinido para este parâmetro é false.
partitionIdRegExp Opcional: processar apenas partições com o ID da partição correspondente a esta expressão regular. Se não for indicado nenhum valor, este parâmetro tem a predefinição de processar tudo.
writeDisposition Opcional: especifica a ação que ocorre se já existir um ficheiro de destino, o que significa que uma ou mais tabelas/partições já foram pré-organizadas em níveis. O valor predefinido para este parâmetro é SKIP, que indica que só devem ser processadas as tabelas/partições que ainda não foram divididas em níveis. Outros valores para o parâmetro podem ser OVERWRITE (substituir todos os ficheiros existentes) ou FAIL (não processar nada e produzir um erro se já existir, pelo menos, um ficheiro de destino).
enforceSamePartitionKey

Opcional: se deve aplicar a mesma chave de partição. Devido a uma limitação do BigQuery, não é possível que a chave de partição (no caminho do ficheiro) numa tabela externa particionada tenha o mesmo nome que uma das colunas no ficheiro. Se este parâmetro for verdadeiro (que é o valor predefinido), a chave de partição do ficheiro de destino é definida como o nome da coluna de partição original e o nome da coluna no ficheiro é alterado. Se for falso, o nome da chave de partição é alterado.

Por exemplo, se a tabela original estiver particionada numa coluna denominada TS e enforceSamePartitionKey=true, o caminho do ficheiro de destino é gs://<bucket>/TS=<partition ID>/<file> e a coluna é mudada para TS_pkey no ficheiro. Isto permite que as consultas existentes sejam executadas nas mesmas partições na tabela antiga ou na nova.

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

updateDataplexMetadata

Opcional: se deve atualizar os metadados do catálogo universal do Dataplex para as entidades criadas recentemente. O valor predefinido para este parâmetro é false.

Se estiver ativado, o pipeline copia automaticamente o esquema da origem para as entidades do Dataplex de destino, e a deteção automatizada do catálogo universal do Dataplex não é executada para estas. Use esta flag se estiver a gerir o esquema das tabelas de origem do BigQuery.

Execute o modelo

Consola

  1. Na Google Cloud consola, aceda à página Processo do Dataplex Universal Catalog.

    Aceder ao processo

  2. Clique em Criar tarefa.

  3. Em Nível de recursos do BQ para o GCS, clique em Criar tarefa.

  4. Escolha um lake do Dataplex Universal Catalog.

  5. Indique um nome para a tarefa.

  6. Escolha uma região para a execução de tarefas.

  7. Preencha os parâmetros obrigatórios.

  8. Clique em Continuar.

gcloud

Na 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 o seguinte:

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

REST

Envie um pedido HTTP POST:

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 o seguinte:

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

Agende outros modelos do Dataflow fornecidos pela Google CloudGoogle ou personalizados

O Dataplex Universal Catalog permite-lhe agendar e monitorizar qualquer um dos modelos do Dataflow fornecidos pela Google ou o seu modelo do Dataflow personalizado na consola.Google Cloud

Agendar

Consola

  1. Na Google Cloud consola, aceda à página Processo do Dataplex Universal Catalog.

    Aceder ao processo

  2. Clique em Criar tarefa.

  3. Em Crie um pipeline do Dataflow, clique em Criar pipeline do Dataflow.

  4. Escolha um lake do Dataplex Universal Catalog.

  5. Indique um nome para a tarefa.

  6. Escolha uma região onde executar a tarefa.

  7. Escolha um modelo do Dataflow.

  8. Preencha os parâmetros obrigatórios.

  9. Clique em Continuar.

Monitor

Consola

  1. Na Google Cloud consola, aceda à página Processo do Dataplex Universal Catalog.

    Aceder ao processo

  2. Clique em Pipelines do Dataflow.

  3. Filtre por nome do lago ou pipeline.