Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Considérations et restrictions

Mode de mise au point
Considérations et restrictions - Amazon Data Firehose

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.

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.

Note

Firehose prend en charge les tables Apache Iceberg comme destination dans toutes les régions sauf en Régions AWSChine et en Asie-Pacifique (Malaisie). AWS GovCloud (US) Regions L'intégration de Firehose à Amazon S3 Tables est en préversion dans toutes les régions où Amazon S3 Tables est disponible. Ne l'utilisez pas pour vos charges de travail de production.

La prise en charge par Firehose des tables Apache Iceberg comporte les considérations et limites suivantes.

  • Débit — Si vous utilisez Direct PUT comme source pour fournir des données aux tables Apache Iceberg, le débit maximum par flux est de 5 MiB/second in US East (N. Virginia), US West (Oregon), and Europe (Ireland) Regions and 1 MiB/second dans tous les autres. Régions AWS Si vous souhaitez insérer des données dans les tables Iceberg sans mise à jour ni suppression et que vous souhaitez augmenter le débit de votre flux, vous pouvez utiliser le formulaire Firehose Limits pour demander une augmentation de la limite de débit.

    Vous pouvez également définir l'AppendOnlyindicateur sur True si vous souhaitez simplement insérer des données et ne pas effectuer de mises à jour ni de suppressions. En réglant l'AppendOnlyindicateur surTrue, Firehose s'adapte automatiquement à votre débit. Actuellement, vous ne pouvez définir cet indicateur qu'avec l'opération CreateDeliveryStreamAPI.

    Si un flux Direct PUT est limité en raison de volumes d'ingestion de données supérieurs à la capacité de débit d'un flux Firehose, Firehose augmente automatiquement la limite de débit du flux jusqu'à ce que la limitation soit maîtrisée. En fonction de l'augmentation du débit et de la régulation, Firehose peut mettre plus de temps à augmenter le débit d'un flux aux niveaux souhaités. Pour cette raison, continuez à réessayer les enregistrements d'ingestion de données ayant échoué. Si vous vous attendez à ce que le volume de données augmente lors de fortes rafales soudaines, ou si votre nouveau flux nécessite un débit supérieur à la limite de débit par défaut, demandez l'augmentation de la limite de débit.

  • Transaction S3 par seconde (TPS) — Pour optimiser les performances de S3, si vous utilisez Kinesis Data Streams ou Amazon MSK comme source, nous vous recommandons de partitionner l'enregistrement source à l'aide d'une clé de partition appropriée. De cette façon, les enregistrements de données routés vers la même table Iceberg sont mappés vers une ou plusieurs partitions source appelées partitions. Si possible, répartissez les enregistrements de données appartenant à différentes tables Iceberg cibles dans différentes partitions/shards, so that you can use all the aggregate throughput available across all the partitions/shards of the source topic/stream tables.

  • Colonnes — Pour les noms et les valeurs des colonnes, Firehose prend uniquement le premier niveau de nœuds dans un JSON imbriqué à plusieurs niveaux. Par exemple, Firehose sélectionne les nœuds disponibles au premier niveau, y compris le champ de position. Les noms des colonnes et les types de données des données sources doivent correspondre à ceux des tables cibles pour que Firehose puisse être correctement diffusé. Dans ce cas, Firehose s'attend à ce que vous ayez une colonne de type de données de structure ou de carte dans vos tables Iceberg correspondant au champ de position. Firehose prend en charge 16 niveaux d'imbrication. Voici un exemple de JSON imbriqué.

    { "version":"2016-04-01", "deviceId":"<solution_unique_device_id>", "sensorId":"<device_sensor_id>", "timestamp":"2024-01-11T20:42:45.000Z", "value":"<actual_value>", "position":{ "x":143.595901, "y":476.399628, "z":0.24234876 } }

    Si les noms des colonnes ou les types de données ne correspondent pas, Firehose génère une erreur et envoie les données au compartiment d'erreur S3. Si tous les noms de colonnes et types de données correspondent dans les tables Apache Iceberg, mais qu'un champ supplémentaire est présent dans l'enregistrement source, Firehose ignore le nouveau champ.

  • Un objet JSON par enregistrement — Vous ne pouvez envoyer qu'un seul objet JSON dans un enregistrement Firehose. Si vous agrégez et envoyez plusieurs objets JSON dans un enregistrement, Firehose génère une erreur et envoie des données au compartiment d'erreur S3. Si vous agrégez des enregistrements avec KPL et que vous ingérez des données dans Firehose avec Amazon Kinesis Data Streams comme source, Firehose désagrège automatiquement et utilise un objet JSON par enregistrement.

  • Compaction et optimisation du stockage : chaque fois que vous écrivez dans Iceberg Tables à l'aide de Firehose, celui-ci valide et génère des instantanés, des fichiers de données et des fichiers de suppression. Le fait de disposer de nombreux fichiers de données augmente la surcharge de métadonnées et affecte les performances de lecture. Pour obtenir des performances de requête efficaces, vous pouvez envisager une solution qui prend régulièrement de petits fichiers de données et les réécrit dans des fichiers de données moins volumineux. Ce processus s'appelle le compactage. AWS Glue Data Catalog prend en charge le compactage automatique de vos tables Apache Iceberg. Pour plus d'informations, consultez la section Gestion du compactage dans le guide de l'utilisateur de AWS Glue. Pour plus d'informations, consultez la section Compaction automatique des tables Apache Iceberg. Vous pouvez également exécuter la commande Athena Optimize pour effectuer le compactage manuellement. Pour plus d'informations sur la commande Optimize, consultez Athena Optimize.

    Outre le compactage des fichiers de données, vous pouvez également optimiser la consommation de stockage grâce à l'instruction VACUUM qui assure la maintenance des tables Apache Iceberg, notamment l'expiration des instantanés et la suppression des fichiers orphelins. Vous pouvez également utiliser AWS Glue Data Catalog cette solution qui prend également en charge l'optimisation des tables gérées des tables Apache Iceberg en supprimant automatiquement les fichiers de données, les fichiers orphelins et les instantanés d'expiration qui ne sont plus nécessaires. Pour plus d'informations, consultez ce billet de blog sur l'optimisation du stockage des tables Apache Iceberg.

  • Nous ne prenons pas en charge la source Amazon MSK Serverless pour les tables Apache Iceberg en tant que destination.

  • Pour la livraison vers des tables situées dans des compartiments de tables Amazon S3, Firehose ne prend en charge que le AWS Glue catalogue par défaut.

  • Pour une opération de mise à jour, Firehose place un fichier de suppression suivi d'une opération d'insertion. L'ajout de fichiers de suppression entraîne des frais de mise en ligne sur Amazon S3.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.