すべてのプロダクト
Search
ドキュメントセンター

Hologres:Apache Nifi

最終更新日:Jun 11, 2025

このトピックでは、Apache NiFi を Hologres に接続する方法の例を示します。

背景情報

Apache NiFi は、使いやすく信頼性の高いデータ処理および配信プラットフォームです。システム全体のデータストリームの自動管理を容易にするように設計されています。 Apache NiFi には、高度に対話的でユーザーフレンドリーな Web ベースのユーザーインターフェイス (UI) があります。 Apache NiFi を使用して、システム内またはシステム全体のデータストリームを管理および処理できます。

前提条件

ローカル JSON ファイルを Hologres にインポートする

次の図は、ローカル JSON ファイルを Hologres にインポートする方法を示しています。Flowchart

  1. GetFile プロセッサ: JSON ファイルを読み取ります。

  2. ConvertJSONToSQL プロセッサ: JSON ファイルのデータに基づいて INSERT ステートメントを生成します。

  3. PutSQL プロセッサ: 生成された INSERT ステートメントを実行して、JSON ファイルのデータを Hologres のデータベースにインポートします。

  1. Hologres にデータベースとテーブルを作成します。

    1. Hologres インスタンスにログオンし、demo という名前のデータベースを作成します。詳細については、「データベースを作成する」をご参照ください。

    2. テーブルを作成します。

      次のステートメントを実行して、JSON ファイルのデータをインポートするテーブルを作成します。

      DROP TABLE IF EXISTS user_info;
      
      CREATE TABLE IF NOT EXISTS user_info (
          id int,
          first_name text,
          last_name text,
          email text
      );
  2. GetFile プロセッサを構成します。

    1. GetFile プロセッサを追加します。

      詳細については、「Apache NiFi の概要」をご参照ください。

    2. JSON ファイルのパスを指定します。

      [入力ディレクトリ] プロパティに対応する [プロパティ] タブの [値] フィールドに、JSON ファイルのパスを指定します。この例では、user_info.json という名前の JSON ファイルが、Apache Nifi サーバーの /opt/nifi/nifi-current/file_source ディレクトリに保存されています。JSON ファイルのデータは次のとおりです。

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

      次の図は、JSON ファイルのパスを指定する方法を示しています。getfile processor

    3. [適用] をクリックして構成を保存します。

  3. ConvertJSONToSQL プロセッサを構成します。

    1. ConvertJSONToSQL プロセッサを追加します。

    2. JDBC 接続プールにコントローラーサービスを追加します。サービスを追加するときは、[互換性のあるコントローラーサービス] パラメーターを [dbcpconnectionpool 1.16.0] に設定し、[コントローラーサービス名] パラメーターを hologres に設定します。

      addcontrollerservice

    3. [dbcpconnectionpool] の右側にある右矢印をクリックして、接続文字列を構成します。

    4. 追加した DBCPConnectionPool コントローラーサービスを見つけて、右側にある設定アイコンをクリックします。

      Configure DBCPConnectionPool

    5. [プロパティ] タブをクリックします。[プロパティ] タブで、必要に応じてプロパティを設定します。次の表に、プロパティについて説明します。

      Set the parameters

      パラメーター

      説明

      備考

      データベース接続 URL

      Hologres インスタンスへの接続に使用する JDBC 接続文字列。形式:jdbc:postgresql://<エンドポイント>/<データベース名>。例:jdbc:postgresql://hgpostcn-cn-xxxxxxxxxxx-cn-shanghai.hologres.aliyuncs.com:80/demo

      接続文字列のエンドポイントは、Hologres インスタンスのパブリックエンドポイントまたは仮想プライベートクラウド (VPC) エンドポイントである必要があります。エンドポイントを取得するには、Hologres コンソール にログオンし、インスタンスの詳細ページに移動します。

      データベースドライバークラス名

      ドライバークラス名。このプロパティを org.postgresql.Driver に設定します。

      該当なし

      データベースドライバーの場所

      Hologres データベースへの接続に使用する JDBC ドライバのパス。例:/opt/nifi/nifi-current/jdbc_driver/postgresql-42.3.4.jar

      JDBC ドライバーは PostgreSQL の公式 Web サイトからダウンロードできます。 42.2.25 以降のバージョンの JDBC ドライバーをダウンロードすることをお勧めします。

      データベースユーザー

      Alibaba Cloud アカウントの AccessKey ID。

      AccessKey ページから AccessKey ID を取得できます。

      パスワード

      Alibaba Cloud アカウントの AccessKey シークレット。

    6. [OK] をクリックします。

    7. [有効化] をクリックして、コントローラーサービスを開始します。

    8. ConvertJSONToSQL プロセッサを構成するページに戻り、パラメーターを変更します。次の表に、パラメーターについて説明します。詳細については、「Apache NiFi の概要」をご参照ください。

      パラメーター

      説明

      ステートメントタイプ

      ステートメントタイプ。この例では、このパラメーターは INSERT に設定されています。

      テーブル名

      JSON ファイルのデータをインポートする Hologres テーブルの名前。この例では、テーブル名は user_info です。

      スキーマ名

      Hologres テーブルが属するスキーマの名前。この例では、スキーマ名は public です。

    9. [適用] をクリックして構成を保存します。

  4. PutSQL プロセッサを構成します。

    1. PutSQL プロセッサを追加します。

    2. JDBC 接続プール パラメーターを、手順 3.ii で追加した DBCPConnectionPool コントローラーサービスに設定します。この例では、DBCPConnectionPool コントローラーサービスの名前は hologres です。

    3. [断片化されたトランザクションのサポート] パラメーターを false に設定します。

    4. [適用] をクリックして構成を保存します。

  5. JSON ファイルのデータをインポートします。

    前の手順で構成したプロセッサを実行します。その後、Apache NiFi は JSON ファイルのデータを読み取り、Hologres にインポートします。Import the data in the JSON file

  6. データをクエリします。

    Hologres で、次のステートメントを実行して、user_info という名前のテーブルをクエリします。

    SELECT * FROM user_info;

    次の図は、クエリ結果を示しています。Query results