Tous les produits
Search
Centre de documentation

Data Lake Formation:Paimon tables

Dernière mise à jour :Aug 11, 2026

Data Lake Formation (DLF) prend en charge Paimon, un format lakehouse qui unifie le stockage en temps réel et par lots. Cette rubrique présente trois opérations relatives aux tables Paimon dans DLF : la création, la consultation et la suppression de tables.

Types de tables

DLF prend en charge deux types de tables Paimon. Choisissez le type adapté selon que vos données comportent une clé primaire et selon la nécessité de mises à jour en flux au niveau de chaque ligne.

Type de table Clé primaire Meilleur cas d'utilisation
Table avec clé primaire Obligatoire Traitement en flux, insertions, mises à jour et suppressions en temps réel ; requêtes OLAP filtrées par clé primaire
Table en ajout seul Aucune Traitement par lots, écritures en flux sans mises à jour par ligne ; OLAP avec index de tri et bitmap

Tables Paimon entièrement gérées

Toutes les tables Paimon créées dans DLF sont entièrement gérées. DLF contrôle l'ensemble des métadonnées et des fichiers de données sous-jacents. La suppression d'une table entraîne celle des métadonnées et des données.

Fonctionnalité Description Géré automatiquement ?
Compactage Fusionne les petits fichiers ; s'exécute indépendamment des écritures de données pour assurer la stabilité des opérations Oui
Écritures concurrentes Plusieurs tâches d'écriture peuvent écrire simultanément dans la même partition Oui
Métriques au niveau des partitions Suit le nombre de lignes, le nombre de fichiers et la taille des fichiers en temps réel pour chaque partition Oui
Multiversion (time travel) Conserve l'historique de la table ; prend en charge les insertions, mises à jour et suppressions granulaires Oui

DLF stocke les données dans un chemin généré automatiquement à partir d'un identifiant universel unique (UUID). Aucune configuration manuelle du chemin n'est nécessaire.

Remarque

Les tables Paimon créées dans DLF utilisent le mode write-only par défaut. Les opérations en arrière-plan — compactage, nettoyage des snapshots et nettoyage des partitions — sont gérées automatiquement par DLF.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

Créer une table Paimon

Créer depuis la console

  1. Connectez-vous à la console Data Lake Formation.

  2. Sur la page de liste Data Catalog, cliquez sur le nom d'un catalogue.

  3. Dans la liste Database, cliquez sur le nom d'une base de données pour ouvrir la liste des tables.

  4. Dans la table list, cliquez sur Create Table.

  5. Configurez les paramètres suivants et cliquez sur OK.

    Élément de configuration Description
    Table Format Sélectionnez Paimon Table.
    Data Table Name Obligatoire. Doit être unique au sein de la base de données.
    Data Table Description Facultatif.
    Columns Définissez chaque colonne : nom, indicateur de clé primaire, indicateur NOT NULL, indicateur de champ de partition, type de données, longueur/type et description.
    Custom Table Properties Ajoutez des propriétés qui remplacent les paramètres par défaut du service de métadonnées de DLF lors de la création de la table. Pour connaître les options disponibles, consultez la documentation officielle de Paimon. Formats de fichier pris en charge : PARQUET, AVRO, ORC, CSV, TEXT, JSON, LANCE et BLOB. Exemple : file.format = LANCE.

Créer via SQL

Si vous avez associé un catalogue sur Flink, EMR (E-MapReduce) ou une autre plateforme, créez les tables directement sur ces plateformes ; les métadonnées sont écrites directement dans DLF. Pour plus de détails, consultez la rubrique Intégration du moteur.

Tables avec clé primaire

Une table avec clé primaire utilise une clé primaire comme identifiant unique de ligne. Elle prend en charge les insertions, mises à jour et suppressions en temps réel, et génère automatiquement des journaux de modifications pour les consommateurs de flux en aval. Utilisez ce type de table pour le traitement des données en flux et les requêtes de traitement analytique en ligne (OLAP) filtrées par clé primaire.

Flink SQL

CREATE TABLE orders (
  order_id BIGINT,
  price    BIGINT,
  customer STRING,
  PRIMARY KEY NOT ENFORCED(order_id)
);

Spark SQL

CREATE TABLE orders (
  order_id BIGINT,
  price    BIGINT,
  customer STRING
) TBLPROPERTIES (
  'primary-key' = 'order_id'
);

Allocation des buckets (mode Postpone Bucket)

DLF utilise le mode Postpone Bucket par défaut. Cette stratégie adaptative ajuste dynamiquement le nombre de buckets en fonction du volume de données de la partition, évitant ainsi la dégradation des performances en lecture due à un nombre excessif de buckets et les goulets d'étranglement en écriture liés à un nombre insuffisant de buckets.

Visibilité des données en mode Postpone : Les données nouvellement écrites ne sont visibles qu'une fois le compactage terminé. Pour éliminer cette latence :

  • Utilisez Flink (VVR 11.4 ou version ultérieure) ou Spark (esr-4.5 ou version ultérieure). Ces versions écrivent les lots directement dans les buckets, supprimant ainsi la latence.

  • Pour les tables sensibles à la latence, définissez explicitement le nombre de buckets. Exemple : 'bucket' = '5'. Visez un bucket pour 1 Go de données de partition.

Mise en bucket dynamique et mise à l'échelle automatique

Le système ajuste l'allocation des buckets en fonction de six facteurs :

Facteur Influence sur le nombre de buckets
Stockage total des partitions Taille totale des fichiers plus importante → davantage de buckets
Échelle des enregistrements de données Plus de lignes (lorsque les vecteurs de suppression sont activés) → davantage de buckets
Charge du trafic d'écriture Débit d'écriture plus élevé → davantage de buckets pour éviter les goulets d'étranglement
Déséquilibre de la distribution des données Déséquilibre détecté → davantage de buckets pour une distribution uniforme
Taille des données d'une seule ligne Taille moyenne de ligne très petite → davantage de buckets pour optimiser la structure des fichiers
Référence de partition historique Un algorithme heuristique utilise la configuration des buckets des partitions précédentes comme référence

Configuration avancée

Configurez les options Paimon suivantes pour un ajustement supplémentaire des tables avec clé primaire :

  • moteur de fusion : Définissez une logique de fusion personnalisée pour les calculs complexes lors du compactage.

  • Deletion Vectors (deletion-vectors.enabled = true) : Améliore considérablement les performances des requêtes. Après activation, toutes les données nouvellement écrites ne sont visibles qu'après compactage, quel que soit le mode de bucket. Cela nécessite davantage de ressources de compactage, mais offre des performances de requête plus stables.

  • changelog-producer (changelog-producer = 'lookup') : Génère des journaux de modifications complets pour les lectures de flux en aval.

  • sequence.field : Gère les données désordonnées et garantit la séquence correcte des mises à jour.

Si vos données en amont sont des données Change Data Capture (CDC), utilisez Flink CDC ou un produit d'intégration de données pour charger les données dans DLF. Ces outils prennent en charge la synchronisation complète de la base de données, la création automatique de tables et la synchronisation du schéma.

Remarque

Pour des requêtes OLAP haute performance, activez le mode Deletion Vectors. Bien qu'il consomme davantage de ressources de compactage, il offre des requêtes OLAP plus stables et plus performantes.

Tables en ajout seul

Une table en ajout seul ne possède pas de clé primaire. Elle ne prend pas en charge les mises à jour en flux au niveau de chaque ligne, mais ses performances en traitement par lots sont nettement supérieures à celles des tables avec clé primaire. Utilisez-la pour la plupart des charges de travail par lots ou les scénarios de flux où les mises à jour par ligne ne sont pas nécessaires.

Les tables en ajout seul prennent en charge :

  • Les écritures et lectures en flux, DLF fusionnant automatiquement les petits fichiers en arrière-plan

  • Les opérations granulaires DELETE, UPDATE et MERGE INTO

  • La gestion des versions et le time travel

  • L'accélération des requêtes via le tri et les index bitmap, avec d'excellentes performances de lecture directe pour les moteurs OLAP

Flink SQL

CREATE TABLE orders (
  order_id BIGINT,
  price    BIGINT,
  customer STRING
);

Spark SQL

CREATE TABLE orders (
  order_id BIGINT,
  price    BIGINT,
  customer STRING
);

Consulter une table de données

  1. Dans la liste Database, cliquez sur le nom d'une base de données pour ouvrir la liste des tables.

  2. Dans la table list, cliquez sur le nom d'une table pour afficher ses champs.

  3. Cliquez sur l'onglet Table Details pour afficher les informations de base de la table, la liste des champs et la liste des partitions.

    Remarque

    Sur l'onglet Table Details, vous pouvez modifier manuellement la classe de stockage pour les tables partitionnées et non partitionnées. Pour plus de détails, consultez la rubrique Modifier manuellement la classe de stockage.

  4. Cliquez sur l'onglet Permissions pour accorder des autorisations au niveau de la table aux utilisateurs ou aux rôles. Pour plus de détails, consultez la rubrique Gestion des autorisations de données.

Supprimer une table de données

Avertissement

La suppression d'une table entraîne la suppression de ses métadonnées et de ses données. Les données sont conservées pendant un jour par mesure de sécurité contre les suppressions accidentelles. Au-delà de ce délai, les données sont définitivement supprimées.

  1. Dans la liste Database, cliquez sur le nom d'une base de données pour ouvrir la liste des tables.

  2. Dans la table list, cliquez sur Delete dans la colonne Actions.

  3. Dans la boîte de dialogue, cliquez sur OK.