Apache Paimon est un format de stockage pour lac de données (lakehouse) qui unifie le traitement des données en flux continu et par lots. S'appuyant sur la technologie log-structured merge-tree (LSM), Paimon offre une sémantique de mise à jour en temps réel au niveau du lac, garantissant des lectures cohérentes et un débit élevé. Utilisez les tables Paimon dans Realtime Compute for Apache Flink pour bâtir un lakehouse en streaming sur un stockage cloud tel qu'Object Storage Service (OSS).
Paimon s'intègre à Apache Flink pour le traitement en flux continu et à Apache Spark pour le traitement par lots, le tout via un unique format de stockage. Ses principales fonctionnalités incluent :
Ingestion de données en temps réel : ingérez des dizaines de millions d'enregistrements issus de flux de modifications de bases de données, tels que MySQL CDC, avec une synchronisation automatique des changements de schéma et une faible latence.
Traitement unifié en streaming et par lots : lisez la même table Paimon soit comme source bornée par lot dans Spark, soit comme flux de journal des modifications non borné dans Flink, sans aucune conversion de format nécessaire.
Intégration étendue à l'écosystème : connectez les tables Paimon à Realtime Compute for Apache Flink, E-MapReduce (Spark, StarRocks, Hive et Trino) ainsi qu'à MaxCompute, sans duplication des données.
Requêtes OLAP à faible latence : les vecteurs de suppression et les index de clé primaire maintiennent la latence des requêtes à l'échelle de la minute pour les charges de travail en streaming, par lots et d'analyse en ligne (OLAP).
Pour consulter la spécification complète, rendez-vous sur Apache Paimon.
Utilisation
Premiers pas avec Paimon
Assimilez les concepts fondamentaux et les opérations de base avant de concevoir vos pipelines de production. Pour plus d'informations, consultez la rubrique Démarrage rapide de Paimon : fonctionnalités de base.
Sélectionnez le type de table adapté à votre charge de travail : optez pour les tables à clé primaire lorsque vos données nécessitent des insertions, mises à jour ou suppressions en streaming, et privilégiez les tables en ajout seul (sans clé primaire) pour les scénarios d'insertion exclusive, tels que la synchronisation de journaux.
Pour comprendre comment Paimon assure la fraîcheur et la cohérence des données entre les snapshots, reportez-vous à la section Latence et cohérence des données.
Pour suivre pas à pas la construction d'un lakehouse en streaming de bout en bout, consultez le guide Lakehouse en streaming avec Paimon et StarRocks.
Créer un catalogue Paimon
Un catalogue Paimon sert de registre centralisé pour les tables Paimon stockées dans des systèmes externes tels qu'OSS. Les autres services Alibaba Cloud accèdent aux tables via ce même catalogue. Configurez un catalogue selon l'une des méthodes suivantes :
Créez et utilisez directement un catalogue Paimon. Pour en savoir plus, consultez la rubrique Gérer les catalogues Paimon.
Synchronisez les métadonnées des tables Paimon vers Data Lake Formation (DLF). Pour plus de détails, voir Créer un catalogue DLF.
Créez une table externe Paimon dans MaxCompute afin d'interroger les données Paimon depuis MaxCompute. Consultez la rubrique Créer un catalogue MaxCompute pour plus d'informations.
Synchronisez simultanément les métadonnées vers DLF et créez une table externe Paimon dans MaxCompute. La procédure est détaillée dans la rubrique Créer un catalogue de synchronisation Paimon.
Créer une table Paimon
Créez directement une table au sein d'un catalogue Paimon. Pour plus d'informations, consultez la rubrique Gérer les tables.
Générez une table Paimon en synchronisant des tables issues de sources telles que MySQL et Kafka à l'aide d'un job d'ingestion de données Flink CDC. Pour en savoir plus, reportez-vous aux rubriques Ingestion de journaux en temps réel dans un lac de données et Ingérer les données de base de données dans un lac de données en temps réel.
Écrire des données dans une table Paimon
Insérez ou mettez à jour des enregistrements dans une table Paimon. La procédure est décrite dans la rubrique Écrire des données dans une table Paimon.
Joignez une table Paimon à d'autres tables et appliquez des fonctions d'agrégation. Pour plus de détails, consultez la section Moteurs de fusion.
Écrasez partiellement ou totalement une table Paimon. Voir la rubrique Écraser des données avec INSERT OVERWRITE pour plus d'informations.
Supprimez des lignes d'une table Paimon. La méthode est expliquée dans la rubrique Supprimer des données à l'aide de DELETE.
Supprimez des partitions d'une table Paimon. Pour en savoir plus, consultez la rubrique Modifier le schéma d'une table.
Consommer des données depuis une table Paimon
Interrogez ou consommez les données d'une table Paimon en mode batch ou streaming. La procédure figure dans la rubrique Consommer des données depuis une table Paimon. Pour consommer les données d'une table à clé primaire en mode streaming, configurez d'abord le producteur de journal des modifications (changelog producer).
Configurez l'offset du consommateur pour une table Paimon. Plus de détails sont disponibles dans la rubrique Consommer des données à partir d'un offset spécifié.
Enregistrez l'offset du consommateur d'une table Paimon ou conservez les fichiers de snapshot expirés toujours référencés par des consommateurs actifs. Consultez la rubrique Spécifier un ID de consommateur pour plus d'informations.
Exécutez un job par lots pour lire l'état historique d'une table Paimon à partir d'un snapshot spécifique. La méthode est décrite dans la section Voyage dans le temps par lots (Batch time travel).
Maintenir une table Paimon
Résolvez les problèmes courants liés à Paimon. Pour plus d'informations, consultez la rubrique Connecteurs.
Optimisez les performances en lecture et en écriture des tables Paimon. La procédure est détaillée dans la rubrique Optimisation des performances des tables Paimon.
Inspectez les métadonnées de la table, telles que la liste des partitions et la taille des fichiers par partition. Pour en savoir plus, consultez la rubrique Tables système Paimon.
Modifiez le schéma d'une table dans un catalogue Paimon. La procédure est expliquée dans la rubrique Modifier le schéma d'une table.
Supprimez une table d'un catalogue Paimon. Pour plus de détails, voir la rubrique Supprimer une table.
Redimensionnez le nombre de buckets d'une table Paimon en mode bucket fixe. Consultez la rubrique Modifier le nombre de buckets en mode bucket fixe pour plus d'informations.
Nettoyez les fichiers obsolètes du répertoire d'une table Paimon. La procédure est décrite dans la rubrique Nettoyer les données expirées.