Melhores práticas para UNLOAD do Timestream for LiveAnalytics - Amazon Timestream

Para recursos semelhantes aos do Amazon Timestream para, considere o Amazon Timestream LiveAnalytics para InfluxDB. Ele oferece ingestão de dados simplificada e tempos de resposta de consulta de um dígito em milissegundos para análises em tempo real. Saiba mais aqui.

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á.

Melhores práticas para UNLOAD do Timestream for LiveAnalytics

A seguir estão as práticas recomendadas relacionadas ao comando UNLOAD.

  • A quantidade de dados que pode ser exportada para o bucket do S3 usando o comando UNLOAD não é limitada. No entanto, o tempo limite da consulta é de 60 minutos e recomendamos exportar no máximo 60 GB de dados em uma única consulta. Se você precisar exportar mais de 60 GB de dados, divida o trabalho em várias consultas.

  • Embora você possa enviar milhares de solicitações ao S3 para carregar os dados, é recomendável paralelizar as operações de gravação em vários prefixos do S3. Consulte a documentação aqui. A taxa de chamadas da API S3 pode ser reduzida quando vários readers/writers acessam a mesma pasta.

  • Dado o limite do tamanho da chave do S3 para definir um prefixo, recomendamos ter nomes de bucket e pasta dentro de 10 a 15 caracteres, especialmente ao usar a cláusula partitioned_by.

  • Quando você recebe um 4XX ou 5XX para consultas contendo a declaração UNLOAD, é possível que resultados parciais sejam gravados no bucket do S3. O Timestream for LiveAnalytics não exclui nenhum dado do seu bucket. Antes de executar outra consulta UNLOAD com o mesmo destino do S3, recomendamos excluir manualmente os arquivos criados pela consulta com falha. Você pode identificar os arquivos gravados por uma consulta com falha com o QueryExecutionId correspondente. Para consultas com falha, o Timestream for LiveAnalytics não exporta um arquivo de manifesto para o bucket do S3.

  • O Timestream for LiveAnalytics usa o upload de várias partes para exportar os resultados da consulta para o S3. Quando você recebe um 4XX ou 5XX do Timestream for LiveAnalytics para consultas contendo uma instrução UNLOAD, o Timestream for LiveAnalytics faz o melhor possível para interromper o upload de várias partes, mas é possível que algumas partes incompletas sejam deixadas para trás. Portanto, recomendamos configurar uma limpeza automática de uploads incompletos de várias partes em seu bucket do S3 seguindo as diretrizes descritas aqui.

Recomendações para acessar dados no formato CSV usando o analisador CSV

  • Os analisadores CSV não permitem que você tenha o mesmo caractere em caracteres delimitadores, de escape e de aspas.

  • Alguns analisadores CSV não conseguem interpretar tipos de dados complexos, como matrizes. Recomendamos interpretá-los usando o desserializador JSON.

Recomendações para acessar dados no formato Parquet

  1. Se seu caso de uso exigir suporte a caracteres UTF-8 no esquema, também conhecido como nome da coluna, recomendamos usar a biblioteca Parquet-mr.

  2. O timestamp em seus resultados é representado como um inteiro de 12 bytes () INT96

  3. As séries temporais serão representadas como array<row<time, value>>, outras estruturas aninhadas usarão os tipos de dados correspondentes suportados no formato Parquet

Usando a cláusula partition_by

  • A coluna usada no campo partitioned_by deve ser a última coluna na consulta selecionada. Se mais de uma coluna for usada no campo partitioned_by, as colunas deverão ser as últimas colunas na consulta de seleção e na mesma ordem em que foram usadas no campo partition_by.

  • Os valores da coluna usados para particionar os dados (campo partitioned_by) podem conter somente caracteres ASCII. Enquanto o Timestream for LiveAnalytics permite caracteres UTF-8 nos valores, o S3 suporta somente caracteres ASCII como chaves de objeto.