Definição de configurações do destino - Amazon Data Firehose

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Definição de configurações do destino

nota

O Firehose oferece suporte ao banco de dados como fonte em todas as regiões AWS GovCloud (US) Regions, exceto Regiões da AWSChina e Ásia-Pacífico (Malásia). Esse recurso está em versão prévia e está sujeito a alterações. Não o use para suas cargas de trabalho de produção.

O Firehose suporta a entrega de alterações do banco de dados nas tabelas Apache Iceberg. Defina as seguintes configurações de destino para configurar o stream do Firehose com o banco de dados como sua fonte.

Conexão de catálogo de dados

O Apache Iceberg requer um catálogo de dados para gravar nas tabelas do Apache Iceberg. O Firehose se integra às tabelas Apache AWS Glue Data Catalog Iceberg. É possível usar o AWS Glue Data Catalog na mesma conta do fluxo do Firehose ou em uma conta cruzada e na mesma região do fluxo do Firehose (padrão), ou em uma região diferente.

Ativar a criação automática de tabelas

Se você ativar essa opção, o Firehose criará automaticamente os bancos de dados, tabelas e colunas necessários no seu destino de destino com o mesmo nome e esquema dos bancos de dados de origem. Se você habilitar essa opção e se o Firehose encontrar algumas tabelas com o mesmo nome e esquema já presentes, ele usará essas tabelas existentes e criará somente bancos de dados, tabelas e colunas ausentes.

Se você não habilitar essa opção, o Firehose tentará encontrar bancos de dados, tabelas e colunas necessários. Se o Firehose não conseguir encontrá-los, ele gerará um erro e enviará os dados para o bucket de erros do S3.

nota

Para que o Firehose entregue dados às tabelas Iceberg com sucesso, os nomes do banco de dados, da tabela e das colunas, juntamente com o esquema, devem corresponder completamente. Se os nomes dos objetos e esquemas do banco de dados não corresponderem, o Firehose gerará um erro e enviará os dados para um bucket de erros do S3.

Para bancos de dados MySQL, o banco de dados de origem mapeia para o Banco de AWS Glue dados e a tabela de origem é mapeada para a AWS Glue Tabela.

Para o PostgreSQL, o banco de dados de origem mapeia AWS Glue para o Banco de dados e a tabela de origem é mapeada AWS Glue para a Tabela com o nome de. SchemaName_TableName

nota

Para tabelas do Amazon S3, o Firehose não suporta a criação automática de tabelas. Você deve criar tabelas do S3 antes de criar um stream do Firehose.

Habilitar a evolução do esquema

Se você habilitar essa opção, o Firehose evoluirá automaticamente o esquema das tabelas Apache Iceberg quando o esquema de origem for alterado. Como parte da evolução do esquema, o Firehose atualmente oferece suporte à adição de novas colunas. Por exemplo, se uma nova coluna for adicionada a uma tabela no lado do banco de dados de origem, o Firehose automaticamente pega essas alterações e adiciona a nova coluna à tabela Apache Iceberg apropriada.

Especificação da duração da repetição

É possível usar essa configuração para especificar a duração, em segundos, durante a qual o Firehose deve tentar novamente, caso encontre falhas na gravação nas tabelas do Apache Iceberg no Amazon S3. É possível definir qualquer valor de 0 a 7.200 segundos para realizar novas tentativas. Por padrão, o Firehose tenta novamente por 300 segundos.

Como lidar com falha na entrega ou no processamento

Você deve configurar o Firehose para entregar registros a um bucket de backup do S3 caso ele falhe no processamento ou entrega de um stream após a expiração da duração da nova tentativa. Para isso, configure o bucket de backup do S3 e o prefixo de saída de erro do bucket de backup do S3.

Configuração de sugestões de buffer

O Firehose armazena em buffer os dados de streaming recebidos na memória até um determinado tamanho (Tamanho do armazenamento em buffer) e por um determinado período (Intervalo de armazenamento em buffer) antes de entregá-los às tabelas do Apache Iceberg. Você pode escolher um tamanho de buffer de 1 a 128 MiBs e um intervalo de buffer de 0 a 900 segundos. Maiores dicas de buffer resultam em menos gravações no S3, menor custo de compactação devido a arquivos de dados maiores e tempo de execução de consultas mais rápido, mas com maior latência. Sugestões de valores buffer mais baixos entregam os dados com menor latência.

Definir as configurações avançadas

Para configurações avançadas, você pode configurar criptografia do lado do servidor, registro de erros, permissões e tags para suas tabelas Apache Iceberg. Para obter mais informações, consulte Definir as configurações avançadas. Você deve adicionar a função do IAM que você criou como parte do Conceda ao Firehose acesso para replicar as alterações do banco de dados nas tabelas Apache Iceberg para usar o Apache Iceberg Tables como destino. O Firehose assumirá a função de acessar AWS Glue tabelas e gravar nos buckets do Amazon S3.

É altamente recomendável que você ative CloudWatch os registros. Se houver algum problema com a conexão do Firehose aos bancos de dados ou com a captura instantânea das tabelas, o Firehose gerará um erro e registrará os registros nos registros configurados. Esse é o único mecanismo que informa sobre os erros.

A criação do fluxo do Firehose pode demorar vários minutos para ser concluída. Depois de criar com êxito o fluxo do Firehose, será possível começar a ingerir dados nele e visualizar os dados nas tabelas do Apache Iceberg.

nota

Configure somente um stream do Firehose para um banco de dados. Ter vários streams Firehose para um banco de dados cria vários conectores para o banco de dados, o que afeta o desempenho do banco de dados.

Depois que um stream do Firehose for criado, o status inicial das tabelas existentes será um instantâneo IN_PROGRESS. Não altere o esquema da tabela de origem quando o status do snapshot estiver definido como IN_PROGRESS. Se você alterar o esquema da tabela quando o instantâneo estiver em andamento, o Firehose ignorará o instantâneo da tabela. Quando o processo de captura de imagem é concluído, seu status muda para CONCLUÍDO.