

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Ingestion en streaming vers une vue matérialisée
<a name="materialized-view-streaming-ingestion"></a>

Cette rubrique explique comment utiliser les vues matérialisées pour accéder rapidement aux données en streaming.

 L’ingestion en streaming garantit une ingestion à haute vitesse des données de flux provenant d’[Amazon Kinesis Data Streams](https://aws.amazon.com//kinesis/data-streams/) et d’[Amazon Managed Streaming pour Apache Kafka](https://aws.amazon.com//msk/) vers une base de données Amazon Redshift allouée ou Amazon Redshift sans serveur. Les données arrivent dans une vue matérialisée Redshift configurée à cet effet. Cela garantit un accès rapide aux données externes. L’ingestion en streaming diminue le temps d’accès aux données et réduit les coûts de stockage. Vous pouvez la configurer pour votre cluster Amazon Redshift ou pour votre groupe de travail Amazon Redshift sans serveur à l’aide d’une petite collection de commandes SQL. Une fois configurée, chaque actualisation des vues matérialisées peut ingérer des centaines de mégaoctets de données par seconde. 

## Comment les données circulent d’un service de streaming vers Redshift
<a name="materialized-view-streaming-ingestion-data-flow"></a>

 Cela permet de comprendre le fonctionnement de l’ingestion en streaming et les objets de base de données utilisés au cours du processus. Les données circulent directement d’un fournisseur de flux de données vers un cluster Amazon Redshift alloué ou vers un groupe de travail Amazon Redshift sans serveur. Il n’existe pas de zone d’atterrissage temporaire, telle qu’un compartiment Amazon S3. Le cluster ou groupe de travail alloué est le consommateur du flux. Dans la base de données Redshift, les données lues dans le flux atterrissent dans une vue matérialisée. Les données sont traitées dès leur arrivée. Par exemple, les valeurs JSON peuvent être consommées et mappées à des colonnes de données d’une vue matérialisée à l’aide d’instructions SQL. Lorsque la vue matérialisée est actualisée, Redshift consomme les données provenant des partitions de données Kinesis ou Kafka allouées jusqu’à ce que la vue soit mise à jour avec le flux. 

 Les cas d’utilisation pour l’ingestion en streaming Amazon Redshift impliquent des données générées de manière continue et devant être traitées dans un court délai (ou *latence*) après leur montage. C’est ce que l’on appelle généralement l’analytique *en temps quasi réel*. Les sources peuvent inclure des appareils informatiques, des appareils télémétriques de système ou des données de flux de clics provenant d’un site web ou d’une application fréquentés.

## Bonnes pratiques d’analyse des données pour améliorer les performances
<a name="materialized-view-streaming-recommendations"></a>

Lorsque vous configurez l’ingestion en streaming, il existe des options permettant d’analyser les données entrantes. Les pratiques peuvent inclure l’exécution de la logique métier ou le formatage au fur et à mesure que les données arrivent. Nous vous recommandons les bonnes pratiques suivantes pour éviter les erreurs ou les pertes de données. Elles sont issues de tests internes et ont aidé les clients à résoudre les problèmes de configuration et d’analyse.
+ **Extraction de valeurs à partir de données diffusées** : si vous utilisez la fonction [JSON\$1EXTRACT\$1PATH\$1TEXT](https://docs.aws.amazon.com/redshift/latest/dg/JSON_EXTRACT_PATH_TEXT.html) dans la définition de votre vue matérialisée pour analyser ou *déchiqueter* le JSON diffusé, cela peut avoir un impact significatif sur les performances et la latence. Pour expliquer, pour chaque colonne extraite à l’aide de JSON\$1EXTRACT\$1PATH\$1TEXT, le JSON entrant est réanalysé. Ensuite, la conversion des types de données, le filtrage et les calculs de logique métier ont lieu. Cela signifie, par exemple, que si vous extrayez 10 colonnes à partir de données JSON, chaque enregistrement JSON est analysé 10 fois, ce qui inclut une logique supplémentaire. Cela entraîne une latence d’ingestion plus élevée. Une autre approche que nous recommandons consiste à utiliser la [fonction JSON\$1PARSE](https://docs.aws.amazon.com/redshift/latest/dg/JSON_PARSE.html) pour convertir les enregistrements JSON au type de données SUPER de Redshift. Une fois que les données diffusées ont atterri dans la vue matérialisée, utilisez PartiQL pour extraire des chaînes individuelles de la représentation SUPER des données JSON. Pour de plus amples informations, consultez [Interrogation de données semi-structurées](https://docs.aws.amazon.com/redshift/latest/dg/query-super.html).

   Notez également que JSON\$1EXTRACT\$1PATH\$1TEXT a une taille de données maximale de 64 Ko. Ainsi, si un enregistrement JSON est supérieur à 64 Ko, son traitement avec JSON\$1EXTRACT\$1PATH\$1TEXT entraîne une erreur. 
+  **Mappage d'un Amazon Kinesis Data Streams flux ou d'une rubrique Amazon MSK sur plusieurs vues matérialisées** : nous ne recommandons pas de créer plusieurs vues matérialisées pour ingérer les données d'un seul flux ou d'un seul sujet. En effet, chaque vue matérialisée crée un consommateur pour chaque partition du flux Kinesis Data Streams ou de la partition de la rubrique Kafka. Cela peut entraîner une limitation ou un dépassement du débit du flux ou de la rubrique. Cela peut également entraîner des coûts plus élevés, car vous ingérez les mêmes données plusieurs fois. Lorsque vous configurez l’ingestion en streaming, nous vous recommandons de créer une vue matérialisée pour chaque flux ou rubrique. 

  Si votre cas d'utilisation nécessite que vous ingériez les données d'un flux KDS ou d'un sujet MSK dans plusieurs vues matérialisées, consultez le [blog AWS Big Data](https://aws.amazon.com/blogs/big-data/), en particulier les [meilleures pratiques pour implémenter des analyses à l'aide d' near-real-timeAmazon Redshift Streaming Ingestion with Amazon](https://aws.amazon.com/blogs/big-data/best-practices-to-implement-near-real-time-analytics-using-amazon-redshift-streaming-ingestion-with-amazon-msk/) MSK, avant de le faire.

## Comportement de l’ingestion en streaming et types de données
<a name="materialized-view-streaming-ingestion-limitations"></a>

La table suivante décrit les détails techniques du comportement et les limites de taille pour les différents types de données. Nous vous recommandons de vous familiariser avec celles-ci avant de configurer une vue matérialisée pour l’ingestion en streaming.

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