O Dataplex Universal Catalog oferece modelos, com tecnologia do Dataflow, para realizar tarefas comuns de processamento de dados, como ingestão de dados, tratamento e gerenciamento do ciclo de vida dos dados. Neste guia, descrevemos como configurar e executar modelos de processamento de dados.
Antes de começar
Os modelos do Dataplex Universal Catalog são desenvolvidos pelo Dataflow. Antes de usar modelos, ative as APIs Dataflow.
Observe o seguinte:
Todos os modelos são compatíveis com as opções de pipeline do Dataflow comuns.
O Dataplex Universal Catalog usa pipelines de dados para programar as tarefas definidas pelos modelos.
Só é possível ver as tarefas programadas pelo Dataplex Universal Catalog no console Google Cloud na página Dataplex Universal Catalog.
Modelo: converter dados brutos em dados selecionados
O modelo de conversão de formato de arquivo do Catálogo Universal do Dataplex converte dados em um recurso do Cloud Storage do Catálogo Universal do Dataplex ou em uma lista de entidades do Catálogo Universal do Dataplex armazenadas em formatos CSV ou JSON para o formato Parquet ou Avro em outro recurso do Catálogo Universal do Dataplex. O layout da partição é preservado na conversão. Ele também é compatível com a compactação dos arquivos de saída.
Parâmetros do modelo
Parâmetro | Descrição |
---|---|
inputAssetOrEntitiesList |
O recurso ou as entidades do Dataplex Universal 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 catálogo universal do Dataplex que contém o bucket do Cloud Storage onde 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 Google Cloud , na guia
Details do recurso do Dataplex Universal 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 indica o processamento apenas dos arquivos que não existem no
diretório de destino. Outros valores para o parâmetro podem ser
OVERWRITE (substituir todos os arquivos existentes) ou FAIL
(não processar nada e gerar um erro se pelo menos um arquivo de destino
já existir). |
updateDataplexMetadata |
Opcional: indica se os metadados do Catálogo Universal do Dataplex das entidades recém-criadas precisam ser atualizados. 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 Dataplex Universal Catalog não será executada para elas. Use essa flag se o esquema dos dados de origem (brutos) for gerenciado pelo Dataplex. |
Executar o modelo
Console
No console Google Cloud , acesse a página Catálogo universal do Dataplex.
Navegue até a visualização Processo.
Clique em Criar tarefa.
Em Converter para formatos selecionados, clique em Criar tarefa.
Escolha um data lake do Catálogo Universal do Dataplex.
Informe um nome para a 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 Dataplex Universal 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 Dataplex Universal Catalog output asset ID
Modelo: migrar dados de um recurso do BigQuery para um recurso do Cloud Storage
O modelo do Dataplex Universal Catalog BigQuery para Cloud Storage copia dados de um recurso do Dataplex Universal Catalog BigQuery para um recurso do Dataplex Universal Catalog Cloud Storage em um layout e formato compatíveis com o Dataplex Universal 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 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 existente. Use a opção
enforceSamePartitionKey
para criar uma nova chave de partição ou manter a mesma chave, mas renomear a coluna atual. - A descoberta do Catálogo Universal do Dataplex registra o tipo de partição
como
string
ao criar uma tabela do BigQuery (e uma tabela no metastore do Dataproc). Isso pode afetar seus filtros de partição atuais.
Há um limite de aproximadamente 300 tabelas e partições que podem ser transformadas em uma única execução de modelo. O número exato depende do tamanho dos nomes das tabelas e de outros fatores.
Parâmetros do modelo
Parâmetro | Descrição |
---|---|
sourceBigQueryDataset |
O conjunto de dados do BigQuery de onde os dados serão extraídos. Esse parâmetro precisa 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 de conjunto de dados do BigQuery no formato projects/<name>/datasets/<dataset-id> . |
destinationStorageBucketAssetName |
O nome do recurso do Dataplex Universal Catalog para o bucket do Cloud Storage em que os dados serão armazenados. 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 nível. Se nenhuma lista for fornecida, todas as tabelas serão organizadas em níveis. 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 por último 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 for especificado, todas as tabelas/partições serão movidas. 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 é aceita e precisa seguir o formato
-PnDTnHnMn.nS (comece com -P , que
indica 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 arquivos
PARQUET . |
deleteSourceData |
Opcional: indica se os dados de origem serão 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 corresponda a esta expressão regular. Se nenhum valor for fornecido, o padrão será processar tudo. |
writeDisposition |
Opcional: especifica a ação que ocorre se um arquivo de destino
já existir, ou seja, se uma ou mais tabelas/partições já tiverem sido
pré-armazenadas em níveis. O valor padrão desse parâmetro é SKIP , que indica o processamento apenas das tabelas/partições que ainda não foram pré-escalonadas. Outros valores para o parâmetro podem ser
OVERWRITE (substituir todos os arquivos existentes) ou FAIL
(não processar nada e gerar um erro se pelo menos um arquivo de destino
já existir). |
enforceSamePartitionKey |
Opcional: se a mesma chave de partição deve ser aplicada. Devido a uma limitação do BigQuery, não é possível que a chave de partição (no caminho do arquivo) em uma tabela externa particionada tenha o mesmo nome de uma das colunas no arquivo. Se esse parâmetro for "true" (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 "false", a chave de partição será renomeada. Por exemplo, se a tabela original for particionada em uma coluna chamada
Se |
updateDataplexMetadata |
Opcional: indica se os metadados do Catálogo Universal do Dataplex das entidades recém-criadas precisam ser atualizados. 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 Dataplex Universal 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 console Google Cloud , acesse a página Catálogo universal do Dataplex.
Navegue até a visualização Processo.
Clique em Criar tarefa.
Em Nível do BQ para os recursos do GCS, clique em Criar tarefa.
Escolha um data lake do Catálogo Universal do Dataplex.
Informe um nome para a 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 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 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 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
Programar outros modelos do Dataflow personalizados ou fornecidos pelo Google Cloud
Com o Dataplex Universal Catalog, é possível programar e monitorar qualquer um dos modelos do Dataflow fornecidos pelo Google Cloudou seu modelo personalizado do Dataflow no console.
Programar
Console
No console Google Cloud , acesse a página Catálogo universal do Dataplex.
Navegue até a visualização Processo.
Clique em Criar tarefa.
Em Criar um pipeline do Dataflow, clique em Criar pipeline do Dataflow.
Escolha um data lake do Catálogo Universal do Dataplex.
Informe um nome para a 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 console Google Cloud , acesse a página Catálogo universal do Dataplex.
Navegue até a visualização Processo.
Clique em Pipelines do Dataflow.
Filtre por nome do data lake ou do pipeline.