Tous les produits
Search
Centre de documentation

Hologres:Connect Apache NiFi to Hologres

Dernière mise à jour :Aug 11, 2026

Ce document présente un exemple de connexion d'Apache NiFi à Hologres.

Contexte

Apache NiFi est un système fiable et simple d'utilisation pour le traitement et la distribution des données. Il automatise les flux de données entre différents systèmes. Apache NiFi offre une interface web interactive et conviviale pour gérer et traiter des flux de données au sein d'un même système ou entre plusieurs systèmes.

Prérequis

Écriture d'un fichier JSON local dans Hologres

Le workflow suivant écrit les données d'un fichier JSON local vers Hologres.

  1. GetFile : lit un fichier JSON.

  2. ConvertJSONToSQL : convertit les éléments du fichier JSON en instruction SQL INSERT.

  3. PutSQL : exécute l'instruction SQL issue du processeur précédent pour insérer les données dans la base de données.

  1. Créez une base de données et une table

    1. Connectez-vous à votre instance Hologres et créez une base de données nommée demo. Pour plus d'informations, consultez la rubrique Création d'une base de données.

    2. Créez une table.

      Exécutez l'instruction SQL suivante pour créer la table de destination.

      DROP TABLE IF EXISTS user_info;
      CREATE TABLE IF NOT EXISTS user_info (
          id int,
          first_name text,
          last_name text,
          email text
      );
  2. Configurez le processeur GetFile

    1. Ajoutez un processeur GetFile.

      Pour plus d'informations, consultez la documentation Ajout d'un processeur.

    2. Spécifiez le chemin d'accès au fichier JSON.

      Dans l'onglet PROPERTIES, saisissez le chemin de stockage de votre fichier JSON dans le champ Input Directory. Cet exemple utilise un fichier JSON nommé user_info.json, stocké dans le répertoire /opt/nifi/nifi-current/file_source sur le serveur Apache NiFi. Le fichier contient les données suivantes :

      {
          "id": 1,
          "first_name": "Sig",
          "last_name": "Olivo",
          "email": "solivo0@blinklist.com"
      }

      Voici un exemple de configuration. Conservez les valeurs par défaut pour les autres propriétés : File Filter est défini sur [^\.].*, Keep Source File sur false (supprime le fichier source après lecture), Batch Size sur 10, Recurse Subdirectories sur true et Polling Interval sur 0 sec.

    3. Cliquez sur Apply pour enregistrer la configuration.

  3. Configurez le processeur ConvertJSONToSQL

    1. Ajoutez un processeur ConvertJSONToSQL.

    2. Pour la propriété JDBC Connection Pool, créez un nouveau service. Définissez Compatible Controller Services sur DBCPConnectionPool et attribuez au Controller Service Name la valeur hologres.

    3. Cliquez sur la flèche Go To (→) située à l'extrême droite de la ligne JDBC Connection Pool pour configurer la chaîne de connexion.

    4. Repérez le service DBCPConnectionPool que vous venez de créer et cliquez sur son icône de paramètres.

      Dans l'onglet CONTROLLER SERVICES, repérez le service DBCPConnectionPool nommé hologres et cliquez sur l'icône de paramètres (une roue dentée) située à droite.

    5. Dans l'onglet PROPERTIES de la page des paramètres, configurez les paramètres suivants.

      Paramètre

      Description

      Description

      Database Connection URL

      Chaîne de connexion JDBC de l'instance Hologres. Le format est jdbc:postgresql://<endpoint>/<database name>. Exemple : jdbc:postgresql://hgpostcn-cn-xxxxxxxxxxx-cn-shanghai.hologres.aliyuncs.com:80/demo.

      L'endpoint doit être un endpoint public ou VPC (Virtual Private Cloud). Pour obtenir l'endpoint, accédez à la page des détails de l'instance dans la console Hologres.

      Database Driver Class Name

      org.postgresql.Driver

      S.O.

      Database Driver Location(s)

      Chemin de stockage du pilote JDBC PostgreSQL. Exemple : /opt/nifi/nifi-current/jdbc_driver/postgresql-42.3.4.jar.

      Vous pouvez télécharger le pilote JDBC depuis le site officiel de PostgreSQL. Nous vous recommandons d'utiliser la version 42.2.25 ou ultérieure du pilote JDBC.

      Database User

      ID AccessKey de votre compte Alibaba Cloud.

      Pour obtenir votre ID AccessKey, accédez à la page Gestion des AccessKeys.

      Password

      Secret AccessKey de votre compte Alibaba Cloud.

    6. Cliquez sur OK pour finaliser la configuration.

    7. Cliquez sur ENABLE pour démarrer le service de contrôleur.

    8. Revenez à la configuration du processeur ConvertJSONToSQL et définissez les paramètres suivants. Pour plus d'informations, consultez la documentation officielle de NiFi.

      |
      **Paramètre**
      |
      **Description**
      | | --- | --- | |
      Statement Type
      |
      Type d'instruction SQL à générer. Dans cet exemple, utilisez `INSERT`.
      | |
      Table Name
      |
      Nom de la table de destination. Dans cet exemple, utilisez `user_info`.
      | |
      Schema Name
      |
      Schéma de la table de destination. Dans cet exemple, utilisez `public`.
      |















    9. Cliquez sur Apply pour finaliser la configuration.

  4. Configurez le processeur PutSQL

    1. Ajoutez un processeur PutSQL.

    2. Définissez JDBC Connection Pool sur le service DBCPConnectionPool configuré à l'étape précédente. Dans cet exemple, le nom du service DBCPConnectionPool est hologres.

    3. Définissez Support Fragmented Transactions sur false.

    4. Cliquez sur Apply pour finaliser la configuration.

  5. Démarrez l'écriture des données

    La configuration est terminée. Démarrez tous les processeurs afin de lire le fichier JSON et d'écrire ses données dans Hologres. Le pipeline de flux de données NiFi se compose de trois processeurs connectés en séquence : GetFile (lit le fichier JSON local, 105 octets en sortie) → ConvertJSONToSQL (convertit le JSON en instruction SQL, 83 octets en sortie) → PutSQL (exécute l'instruction SQL pour écrire dans la base de données). Après l'exécution, les files d'attente success et sql vides indiquent que les données ont bien été écrites dans Hologres.

  6. Interrogez les données

    Exécutez la commande suivante dans Hologres pour interroger la table user_info et afficher les données importées.

    SELECT * FROM user_info;

    La requête renvoie quatre colonnes (id, first_name, last_name et email) et une ligne de données : id=1, first_name=Sig, last_name=Olivo, email=solivo0@blinklist.com. Ce résultat confirme que les données du fichier JSON local ont bien été écrites dans Hologres.