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.
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 é
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
Na Google Cloud consola, aceda à página Processo do Dataplex Universal Catalog.
Clique em Criar tarefa.
Em Converter em formatos organizados, clique em Criar tarefa.
Escolha um lake do Dataplex Universal Catalog.
Indique um nome para a tarefa.
Escolha uma região para a execução de tarefas.
Preencha os parâmetros obrigatórios.
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
Se |
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 é
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
Na Google Cloud consola, aceda à página Processo do Dataplex Universal Catalog.
Clique em Criar tarefa.
Em Nível de recursos do BQ para o GCS, clique em Criar tarefa.
Escolha um lake do Dataplex Universal Catalog.
Indique um nome para a tarefa.
Escolha uma região para a execução de tarefas.
Preencha os parâmetros obrigatórios.
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
Na Google Cloud consola, aceda à página Processo do Dataplex Universal Catalog.
Clique em Criar tarefa.
Em Crie um pipeline do Dataflow, clique em Criar pipeline do Dataflow.
Escolha um lake do Dataplex Universal Catalog.
Indique um nome para a tarefa.
Escolha uma região onde executar a tarefa.
Escolha um modelo do Dataflow.
Preencha os parâmetros obrigatórios.
Clique em Continuar.
Monitor
Consola
Na Google Cloud consola, aceda à página Processo do Dataplex Universal Catalog.
Clique em Pipelines do Dataflow.
Filtre por nome do lago ou pipeline.