É possível usar um blueprint do criador de jobs do Dataflow para adicionar arquivos Apache Parquet de um armazenamento na nuvem (Cloud Storage ou Amazon S3) a uma tabela do Apache Iceberg no Lakehouse.
Esse processo usa a IcebergAddFiles
transformação.
Se os arquivos Parquet estiverem no Cloud Storage, essa transformação os registrará no Lakehouse sem mover ou reescrever os dados subjacentes. Se os arquivos estiverem em um sistema de armazenamento externo, como o Amazon S3, eles serão copiados para o Cloud Storage para consultas mais rápidas pelo Lakehouse e, em seguida, registrados.
Use os detalhes de conexão a seguir para adicionar arquivos Parquet de um armazenamento na nuvem a uma tabela do Apache Iceberg no Lakehouse.
Antes de começar
Ative as APIs Dataflow, BigQuery e Lakehouse.
Para receber as permissões necessárias para criar os recursos, peça ao administrador para conceder a você os papéis necessários do Identity and Access Management (IAM) no seu projeto.
Crie um catálogo, namespace e tabela do Lakehouse para Apache Iceberg para importar dados.
Crie um bucket de armazenamento na nuvem (Cloud Storage ou Amazon S3) e faça upload dos arquivos Parquet para o bucket.
Se o bucket de armazenamento na nuvem que você está usando não for o Cloud Storage do Google, crie um bucket do Cloud Storage para armazenar os registros de erros do job.
Suporte e limitações
A importação de arquivos Parquet em armazenamento na nuvem para o Lakehouse para Apache Iceberg usando o Dataflow tem as seguintes limitações:
- Os dados de origem precisam estar no formato Apache Parquet e armazenados no Cloud Storage ou no Amazon S3.
- Esse recurso oferece suporte apenas a pipelines em lote.
Importar arquivos Parquet para o Lakehouse
Siga estas etapas para importar arquivos Parquet de um armazenamento na nuvem para uma tabela do Iceberg no Lakehouse usando a UI do criador de jobs do Dataflow.
No Google Cloud console do, acesse a página Lakehouse para Apache Iceberg.
Selecione o catálogo, o namespace e a tabela em que você quer importar dados.
Na página Detalhes da tabela, clique em Importar tabela.
Na caixa de diálogo Configuração de importação, selecione Importar uma tabela de arquivos Apache Parquet para o Lakehouse (lote).
A página Criador de jobs do Dataflow será aberta.
Na seção Origens:
Abra a entrada de origem CreateGlobalInput que já foi criada.
Na seção do editor Configuração da origem YAML, insira um ou mais caminhos para os arquivos Parquet na sequência
elements.Para melhorar a eficiência da importação, especifique vários conjuntos de arquivos (globs) ao registrar um grande número de arquivos. Exemplo:
reshuffle: true elements: - gs://BUCKET_NAME/restaurant-data/2023/*.parquet - gs://BUCKET_NAME/restaurant-data/2024/*.parquetClique em Concluído.
Na seção Transformações:
Clique na seção de transformação IcebergAddFiles para abrir.
No campo Tabela do Iceberg, insira o namespace e o nome da tabela. Por exemplo: NAMESPACE .TABLE_NAME .
Em Propriedades do catálogo, configure os seguintes itens:
warehouse: o local do catálogo no Cloud Storage. Por exemplo,
gs://CATALOG_PATH.header.x-goog-user-project: seu Google Cloud ID do projeto: PROJECT_ID.
Clique em Concluído.
Se você estiver migrando do S3, será necessário fornecer outras configurações para copiar arquivos Parquet para o Cloud Storage. Isso não é necessário se os arquivos já estiverem no Cloud Storage.
Clique na seção de transformação CopyFilesToGCS para abrir.
Defina o valor do parâmetro de configuração gcs_file_path para fornecer o bucket do Cloud Storage totalmente qualificado para copiar arquivos temporários. Recomendamos usar o mesmo bucket do Cloud Storage usado pelo data warehouse do Lakehouse.
Clique em Concluído.
1 Clique na seção Opções do Dataflow para abrir.
- Clique em Adicionar outras opções de pipeline para fornecer opções de pipeline do Apache Beam relacionadas ao S3. Por exemplo, s3_region_name, s3_access_key_id, s3_secret_access_key e os valores correspondentes.
Na seção Coletores:
Clique no coletor Escrever resultados para abrir.
No campo Local do JSON, especifique o local e o nome do arquivo do Cloud Storage para gravar os resultados de erro. Por exemplo:
gs://BUCKET_NAME/errors/errors.jsonClique em Concluído.
Na seção Opções do Dataflow, clique em Executar job.
Se você precisar personalizar ainda mais o pipeline do Dataflow usado para registrar arquivos Parquet, faça isso usando o formulário do criador de jobs ou o editor YAML.
Examinar a saída do job
Depois que o job for concluído, você poderá verificar se os dados foram registrados na tabela do Iceberg consultando-a no BigQuery.
Na lista de jobs do Dataflow, verifique se o status do job é Concluído.
Se o job falhar ou tiver erros, confira os detalhes no arquivo de registro de erros JSON no Cloud Storage.
No Google Cloud console do, acesse a página Studio do BigQuery.
No editor de consultas, insira uma consulta SQL para inspecionar a tabela. Você pode usar
PROJECT_ID.CATALOG>NAMESPACE.TABLE_NAMEconvenção para consultar.SELECT * FROM `PROJECT_ID.CATALOG>NAMESPACE.TABLE_NAME` LIMIT 10Clique em Executar.
Analise os Resultados da consulta para garantir que os dados foram processados corretamente.
A seguir
- Saiba mais em Sobre o catálogo de ambientes de execução do Lakehouse.
- Saiba mais em Visão UI do criador de jobs do Dataflow.