A exportação do BigQuery para o modelo Parquet é um pipeline em lote que lê dados de uma tabela do BigQuery e os grava em um bucket do Cloud Storage no formato Parquet. Esse modelo usa a API BigQuery Storage para exportar os dados.
Requisitos de pipeline
- A tabela de entrada do BigQuery precisa existir antes de o pipeline ser executado.
- O bucket de saída do Cloud Storage precisa existir antes da execução do pipeline.
Parâmetros do modelo
Parâmetros obrigatórios
- tableRef: local da tabela de entrada do BigQuery. Por exemplo,
your-project:your-dataset.your-table-name
. - bucket: a pasta do Cloud Storage em que os arquivos Parquet serão gravados. Por exemplo,
gs://your-bucket/export/
.
Parâmetros opcionais
- numShards: o número de fragmentos de arquivo de saída. O valor padrão é
1
. - fields: uma lista de campos separados por vírgulas a ser selecionada na tabela de entrada do BigQuery.
- rowRestriction: leia somente linhas que correspondam ao filtro especificado, que precisa ser uma expressão SQL compatível com o SQL padrão do Google (https://cloud.google.com/bigquery/docs/reference/standard-sql). Se nenhum valor for especificado, todas as linhas serão retornadas.
Executar o modelo
Console
- Acesse a página Criar job usando um modelo do Dataflow. Acesse Criar job usando um modelo
- No campo Nome do job, insira um nome exclusivo.
- Opcional: em Endpoint regional, selecione um valor no menu suspenso. A região padrão é
us-central1
.Para ver uma lista de regiões em que é possível executar um job do Dataflow, consulte Locais do Dataflow.
- No menu suspenso Modelo do Dataflow, selecione the BigQuery export to Parquet (via Storage API) template.
- Nos campos de parâmetro fornecidos, insira os valores de parâmetro.
- Cliquem em Executar job.
gcloud
No shell ou no terminal, execute o modelo:
gcloud dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/BigQuery_to_Parquet \ --region=REGION_NAME \ --parameters \ tableRef=BIGQUERY_TABLE,\ bucket=OUTPUT_DIRECTORY,\ numShards=NUM_SHARDS,\ fields=FIELDS
Substitua:
PROJECT_ID
: o ID do projeto do Google Cloud em que você quer executar o job do DataflowJOB_NAME
: um nome de job de sua escolhaVERSION
: a versão do modelo que você quer usarUse estes valores:
latest
para usar a versão mais recente do modelo, disponível na pasta mãe não datada no bucket: gs://dataflow-templates-REGION_NAME/latest/- o nome da versão, como
2023-09-12-00_RC00
, para usar uma versão específica do modelo, que pode ser encontrada aninhada na respectiva pasta mãe datada no bucket: gs://dataflow-templates-REGION_NAME/
REGION_NAME
: a região em que você quer implantar o job do Dataflow, por exemplo,us-central1
BIGQUERY_TABLE
: o nome da tabela do BigQueryOUTPUT_DIRECTORY
: pasta do Cloud Storage para arquivos de saídaNUM_SHARDS
: o número pretendido de fragmentos do arquivo de saída.FIELDS
: a lista de campos separados por vírgulas a ser selecionada na tabela de entrada do BigQuery
API
Para executar o modelo usando a API REST, envie uma solicitação HTTP POST. Para mais informações sobre a
API e os respectivos escopos de autorização, consulte
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "tableRef": "BIGQUERY_TABLE", "bucket": "OUTPUT_DIRECTORY", "numShards": "NUM_SHARDS", "fields": "FIELDS" }, "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/BigQuery_to_Parquet", } }
Substitua:
PROJECT_ID
: o ID do projeto do Google Cloud em que você quer executar o job do DataflowJOB_NAME
: um nome de job de sua escolhaVERSION
: a versão do modelo que você quer usarUse estes valores:
latest
para usar a versão mais recente do modelo, disponível na pasta mãe não datada no bucket: gs://dataflow-templates-REGION_NAME/latest/- o nome da versão, como
2023-09-12-00_RC00
, para usar uma versão específica do modelo, que pode ser encontrada aninhada na respectiva pasta mãe datada no bucket: gs://dataflow-templates-REGION_NAME/
LOCATION
: a região em que você quer implantar o job do Dataflow, por exemplo,us-central1
BIGQUERY_TABLE
: o nome da tabela do BigQueryOUTPUT_DIRECTORY
: pasta do Cloud Storage para arquivos de saídaNUM_SHARDS
: o número pretendido de fragmentos do arquivo de saída.FIELDS
: a lista de campos separados por vírgulas a ser selecionada na tabela de entrada do BigQuery
A seguir
- Saiba mais sobre os modelos do Dataflow.
- Confira a lista de modelos fornecidos pelo Google.