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

Lindorm:作業の開始

最終更新日:Jan 14, 2025

Lindorm GanosBase がアクティブ化された後、GanosBase API オペレーションを呼び出してアプリケーションを開発できます。

手順

  1. サンプルコードパッケージ lindorm-ganosbase-sample をダウンロードします。

  2. パッケージのダウンロードと解凍後、lindorm-sample ディレクトリに移動し、次のステートメントを実行します。

    mvn install -Dmaven.test.skip=true -s ../settings.xml

    コンパイルが成功すると、target ディレクトリに lindorm-sample-1.0.0.jar が生成されます。

  3. サンプルコードについて理解します。次の例では、自動識別システム(AIS)データを使用して、軌跡データの書き込み方法とクエリ方法を示します。

    • Main: サンプルプログラムのエントリポイントです。

      JSON ファイルで操作とパラメータを指定します。詳細については、サンプル JSON ファイル sample_template.json をご参照ください。

    • Writer: Lindorm GanosBase にデータを書き込みます。2 つの書き込みモードがサポートされています。

      • WRITER: 単一スレッドを使用してデータを書き込みます。 Lindorm GanosBase に接続し、スキーマを定義し、時空間インデックステーブルを作成し、サンプルデータを読み取り、Lindorm GanosBase にサンプルデータを書き込みます。

      • PWRITER: 複数スレッドを使用してデータを書き込みます。 Lindorm GanosBase に接続し、スキーマを定義し、時空間インデックステーブルを作成します。スレッド数を指定します。各スレッドは、指定された範囲内でランダムな N 個の AIS ポイントを生成し、作成されたテーブルに AIS ポイントを書き込みます。 JSON ファイルでパラメータを指定する必要があります。詳細については、サンプル JSON ファイル write_template.json をご参照ください。

    • Reader: writer によって書き込まれた AIS データをクエリするために使用されるクエリインターフェースです。2 つのクエリモードがサポートされています。

      • READER: このクエリモードでは、固定パラメータを含むクエリを実行できます。クエリには、属性クエリ、空間クエリ、および時空間クエリが含まれます。

      • UDFQUERY: このクエリモードでは、JSON ファイルでパラメータを指定し、クエリ条件を指定して、空間クエリ、時空間クエリ、または属性クエリを実行できます。詳細については、サンプル JSON ファイル query_template.json をご参照ください。

  4. サンプルコードを使用します。次の例では、zk_address パラメーターは、ワイドテーブルエンジン LindormTable に接続するために ApsaraDB for HBase API for Java が使用するエンドポイントに設定されています。

    • データの書き込み

      sample_template.json ファイルで、データの書き込みに必要なパラメータを設定します。

      {
        "operation" : "WRITER",
        "zk_address" : $your_zk_address,
        "catalog" : "example",
        "schema" : "ship"
      }

      次のサンプルステートメントを実行して、データを書き込みます。

      java -jar lindorm-sample-1.0.0.jar path_to_sample/sample_template.json

      デフォルトでは、スキーマが ship の 4 つのインデックステーブル(id、z2、z3、および attr 列のインデックス)が作成されます。指定されたインデックステーブルを作成する場合は、インデックステーブルの作成 で説明されている手順を実行します。

    • データのクエリ

      sample_template.json ファイルでクエリパラメータを設定します。サンプルコードのデフォルトのクエリ範囲を使用します。

      {
        "operation" : "READER",
        "zk_address" : $your_zk_address,
        "catalog" : "example",
        "schema" : "ship"
      }

      filter_string パラメータを設定して、クエリ範囲を指定することもできます。

      {
        "operation" : "READER",
        "filter_string" : "bbox(geom, 20, 20, 40, 40)"
        "zk_address" : $your_zk_address,
        "catalog" : "example",
        "schema" : "ship"
      }

      次のサンプルステートメントを実行して、データをクエリします。

      java -jar lindorm-sample-1.0.0.jar path_to_sample/sample_template.json
    • データを並列で書き込む

      PWRITER を使用します。

      {
        "operation" : "PWRITER",
        "zk_address" : $your_zk_address,
        "catalog" : "example",
        "schema" : "ship",
        "write_template_file" : "src_root/src/main/java/com/aliyun/apsaradb/lindorm/ganos/sample/write_template.json"
      }
    • カスタムクエリを実行する

      UDFQUERY を使用します。

      {
        "operation" : "UDFQUERY",
        "zk_address" : $your_zk_address,
        "catalog" : "example",
        "schema" : "ship",
        "query_template_file" : "src_root/src/main/java/com/aliyun/apsaradb/lindorm/ganos/sample/query_template.json"
      }