

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Ingestão de streaming para uma visão materializada
<a name="materialized-view-streaming-ingestion"></a>

Este tópico descreve como usar visões materializadas para acessar dados de streaming rapidamente.

 A ingestão de streaming fornece ingestão de dados de baixa latência e alta velocidade do [Amazon Kinesis Data Streams](https://aws.amazon.com//kinesis/data-streams/) e do [Amazon Managed Streaming para Apache Kafka](https://aws.amazon.com//msk/) em banco de dados provisionado pelo Amazon Redshift ou do Amazon Redshift sem servidor. Os dados chegam a uma visão materializada do Redshift que é configurada para essa finalidade. Isso ocasiona acesso rápido a dados externos. A ingestão de streaming reduz o tempo de acesso aos dados e o custo de armazenamento. É possível configurá-la para o cluster do Amazon Redshift ou para o grupo de trabalho do Amazon Redshift sem servidor, usando um pequeno grupo de comandos SQL. Depois de configurada, cada atualização de visão materializada pode ingerir centenas de megabytes de dados por segundo. 

## Como os dados fluem de um serviço de streaming para o Redshift
<a name="materialized-view-streaming-ingestion-data-flow"></a>

 Isso ajuda a entender como funciona a ingestão de streaming e os objetos de banco de dados utilizados no processo. Os dados fluem diretamente de um provedor de fluxo de dados para um cluster provisionado pelo Amazon Redshift ou um grupo de trabalho do Amazon Redshift sem servidor. Não há uma área de pouso temporária, como o bucket do Amazon S3. O grupo de trabalho ou o cluster provisionado é o consumidor de fluxos. No banco de dados do Redshift, os dados lidos do fluxo chegam a uma visão materializada. Os dados são processados assim que chegam. Por exemplo, os valores JSON podem ser consumidos e associados às colunas de dados de uma visão materializada usando SQL. Quando a visão materializada é atualizada, o Redshift consome dados dos fragmentos de dados alocados do Kinesis ou das partições do Kafka até que a visão seja atualizada com o fluxo. 

 Casos de uso para a ingestão de streaming do Amazon Redshift envolvem dados que são gerados continuamente e que precisam ser processados em um curto período ou *latência* desde sua geração. Isso é chamado de analytics *quase em tempo real*. As fontes podem incluir dispositivos de TI, dispositivos de telemetria de sistemas e dados de fluxo de cliques de um site ou uma aplicação movimentada.

## Práticas recomendadas de análise de dados para melhorar a performance
<a name="materialized-view-streaming-recommendations"></a>

Quando você configura a ingestão de streaming, há opções de como analisar os dados recebidos. As práticas podem incluir a execução da lógica comercial ou a formatação à medida que os dados chegam. Recomendamos as práticas recomendadas a seguir para evitar erros ou perda de dados. Elas são derivadas de testes internos e ajudam os clientes a solucionar problemas de configuração e de análise.
+ **Extração de valores de dados transmitidos**: se você usar a função [JSON\$1EXTRACT\$1PATH\$1TEXT](https://docs.aws.amazon.com/redshift/latest/dg/JSON_EXTRACT_PATH_TEXT.html) na definição de visão materializada para *fragmentar* o JSON de streaming, isso poderá afetar significativamente a performance e a latência. Para explicar, para cada coluna extraída usando JSON\$1EXTRACT\$1PATH\$1TEXT, o JSON de entrada é analisado novamente. Depois disso, ocorrem a conversão do tipo de dados, a filtragem e os cálculos de lógica de negócios. Isso significa, por exemplo, que se você extrair dez colunas dos dados JSON, cada registro JSON será analisado dez vezes, o que inclui lógica adicional. Isso ocasiona maior latência de ingestão. Uma abordagem alternativa que recomendamos é usar a [função JSON\$1PARSE](https://docs.aws.amazon.com/redshift/latest/dg/JSON_PARSE.html) para converter registros JSON no tipo de dados SUPER do Redshift. Depois que os dados transmitidos chegarem à visão materializada, use o PartiQL para extrair strings individuais da representação SUPER dos dados JSON. Para ter mais informações, confira [Consultar dados semiestruturados](https://docs.aws.amazon.com/redshift/latest/dg/query-super.html).

   Além disso, observe que JSON\$1EXTRACT\$1PATH\$1TEXT tem um tamanho máximo de dados de 64 KB. Portanto, se algum registro JSON for maior que 64 KB, processá-lo com JSON\$1EXTRACT\$1PATH\$1TEXT vai gerar um erro. 
+  **Associação de um fluxo do Amazon Kinesis Data Streams ou de um tópico do Amazon MSK a visões materializadas**: não recomendamos criar várias visões materializadas para ingestão de dados de um único fluxo ou tópico. Isso ocorre porque cada visão materializada cria um consumidor para cada fragmento no fluxo do Kinesis Data Streams ou no tópico do Kafka. Isso pode ocasionar controle de utilização ou throughput excessivo do fluxo ou do tópico. Também pode gerar custos mais altos, já que você ingere os mesmos dados várias vezes. Ao configurar a ingestão de streaming, recomendamos criar uma visão materializada para cada fluxo ou tópico. 

  Se o caso de uso exigir que você ingira os dados de um fluxo do KDS ou do tópico do MSK em várias visões materializadas, antes de fazer isso, consulte o [AWS Big Data Blog](https://aws.amazon.com/blogs/big-data/), especificamente [Best practices to implement near-real-time analytics using Amazon Redshift Streaming Ingestion with Amazon MSK](https://aws.amazon.com/blogs/big-data/best-practices-to-implement-near-real-time-analytics-using-amazon-redshift-streaming-ingestion-with-amazon-msk/).

## Comportamento de ingestão de streaming e tipos de dados
<a name="materialized-view-streaming-ingestion-limitations"></a>

A tabela a seguir descreve detalhes do comportamento técnico e limites de tamanho para vários tipos de dados. Recomendamos que você se familiarize com eles antes de configurar uma visão materializada para ingestão de streaming.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/dg/materialized-view-streaming-ingestion.html)