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

ApsaraDB for HBase:クイックスタート

最終更新日:Jan 16, 2025

このトピックでは、ApsaraDB for HBase Ganos(HBase Ganos)を使用してデータの書き込み、クエリ、および削除を行う方法について説明します。

サンプルコード

  1. hbase-ganos-sample をクリックして、サンプルコードをダウンロードします。

    サンプルコードパッケージをダウンロードして解凍した後、pom.xmlファイルのプロジェクト依存関係を変更します。詳細については、このトピックの「依存関係」セクションをご参照ください。

  2. サンプルコードについて理解します。
    1. trajectory-sample モジュール
      自動識別システム(AIS)データがサンプルデータとして使用され、軌跡データの書き込みおよびクエリ方法が示されます。
      • Main:サンプルプログラムのエントリポイントです。
      • Writer:ApsaraDB for HBaseデータベースにデータを書き込むために使用されます。手順全体は、HBase Ganosへの接続、時空間インデックステーブルとして使用されるSchemaオブジェクトの作成、サンプルデータの読み取り、時空間インデックステーブルへのサンプルデータの書き込みという手順で構成されます。
      • Reader:一般的なクエリインターフェースです。サンプルコードでは、等値クエリ、プレフィックスクエリ、サフィックスクエリなどの属性クエリ、空間データクエリ、および時空間データクエリの例が提供されています。
    2. spark-sample モジュール
      AISデータがサンプルデータとして使用され、軌跡データの書き込み方法と、Apache Sparkを使用して軌跡データをクエリおよび分析する方法が示されます。
      • Writer:ApsaraDB for HBaseデータベースにデータを書き込むために使用されます。手順全体は、HBase Ganosへの接続、時空間インデックステーブルとして使用されるSchemaオブジェクトの作成、サンプルデータの読み取り、時空間インデックステーブルへのサンプルデータの書き込みという手順で構成されます。
      • SparkDemo:HBase Ganosからデータを読み取り、データをSpark DataFrameに変換し、Spark SQLを使用して空間データクエリなどの操作を実行するために使用されます。

依存関係

GeoMesaクライアントまたはHBase Ganosクライアントを使用できます。 HBase Ganosクライアントは、GeoMesaクライアントよりも多くの機能を提供します。

GeoMesa クライアント

HBase Ganosは、オープンソースのGeoMesaクライアントと互換性があります。 HBase Ganosの特定の機能が必要ない場合は、GeoMesaクライアントを使用できます。

重要 GeoMesaクライアントは、HBase 1.xのHBase Ganosにアクセスするためにのみ使用できます。
<properties>
       <!-- Note: Specify the version of the ApsaraDB for HBase client -->  
       <alihbase.version>1.3.1</alihbase.version>
</properties>

<dependency>
        <groupId>org.locationtech.geomesa</groupId>
        <artifactId>geomesa-hbase-datastore_2.11</artifactId>
        <version>2.2.1</version>
        <exclusions>
            <exclusion>
                <groupId>com.google.protobuf</groupId>
                <artifactId>protobuf-java</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- Dependencies for the ApsaraDB for HBase client--> 
      <dependency>
      <groupId>com.aliyun.hbase</groupId>
      <artifactId>alihbase-client</artifactId>
      <version>${alihbase.version}</version>
      <exclusions>
        <exclusion>
          <artifactId>com.google.guava</artifactId>
          <groupId>guava</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.aliyun.hbase</groupId>
      <artifactId>alihbase-server</artifactId>
      <version>${alihbase.version}</version>
    </dependency>
    <dependency>
      <groupId>com.aliyun.hbase</groupId>
      <artifactId>alihbase-common</artifactId>
      <version>${alihbase.version}</version>
    </dependency>
    <dependency>
      <groupId>com.aliyun.hbase</groupId>
      <artifactId>alihbase-protocol</artifactId>
      <version>${alihbase.version}</version>
    </dependency>

HBase Ganos クライアント

  • HBase 1.x
    重要 HBase 1.x 用の HBase Ganos 依存関係は、maven ライブラリにリリースされていません。ganos-hbase-distributed-runtime_2.11-2.2.1-2.1.0.jar をクリックしてパッケージをダウンロードし、次の依存関係を設定してください。
    <properties>
         <!-- Note: Specify the version of the ApsaraDB for HBase client -->
         <!-- 注:ApsaraDB for HBase クライアントのバージョンを指定します -->
         <alihbase.version>1.3.1</alihbase.version>
    </properties>
    
    <dependency>
            <groupId>com.aliyun.tst.ganos</groupId>
            <artifactId>ganos-geomesa-hbase15</artifactId>
            <version>2.0.0</version>
            <scope>system</scope>
            <systemPath>/ganos-jar-path</systemPath>
          </dependency>
          <!-- Dependencies for the ApsaraDB for HBase client-->
          <!-- ApsaraDB for HBase クライアントの依存関係 -->
          <dependency>
          <groupId>com.aliyun.hbase</groupId>
          <artifactId>alihbase-client</artifactId>
          <version>${alihbase.version}</version>
          <exclusions>
            <exclusion>
              <artifactId>com.google.guava</artifactId>
              <groupId>guava</groupId>
            </exclusion>
          </exclusions>
        </dependency>
        <dependency>
          <groupId>com.aliyun.hbase</groupId>
          <artifactId>alihbase-server</artifactId>
          <version>${alihbase.version}</version>
        </dependency>
        <dependency>
          <groupId>com.aliyun.hbase</groupId>
          <artifactId>alihbase-common</artifactId>
          <version>${alihbase.version}</version>
        </dependency>
        <dependency>
          <groupId>com.aliyun.hbase</groupId>
          <artifactId>alihbase-protocol</artifactId>
          <version>${alihbase.version}</version>
        </dependency>
  • HBase 1.x
    重要 HBase 1.x用のHBase Ganosの依存関係は、mavenライブラリにリリースされていません。 ganos-hbase-distributed-runtime_2.11-2.2.1-2.5.0.jar をクリックしてパッケージをダウンロードし、次の依存関係を設定します。
    <properties>
        <!-- 注: ApsaraDB for HBase クライアントのバージョンを指定します -->
        <alihbase.version>2.0.0</alihbase.version>
    </properties>
    
    <dependency>
          <groupId>com.aliyun.tst.ganos</groupId>
          <artifactId>ganos-geomesa-hbase20</artifactId>
          <version>2.5.0</version>
          <scope>system</scope>
          <systemPath>/ganos-jar-path</systemPath>
        </dependency>
          <!-- ApsaraDB for HBase クライアントの依存関係 -->
          <dependency>
          <groupId>com.aliyun.hbase</groupId>
          <artifactId>alihbase-client</artifactId>
          <version>${alihbase.version}</version>
          <exclusions>
            <exclusion>
              <artifactId>com.google.guava</artifactId>
              <groupId>guava</groupId>
            </exclusion>
          </exclusions>
        </dependency>
        <dependency>
          <groupId>com.aliyun.hbase</groupId>
          <artifactId>alihbase-server</artifactId>
          <version>${alihbase.version}</version>
        </dependency>
        <dependency>
          <groupId>com.aliyun.hbase</groupId>
          <artifactId>alihbase-common</artifactId>
          <version>${alihbase.version}</version>
        </dependency>
        <dependency>
          <groupId>com.aliyun.hbase</groupId>
          <artifactId>alihbase-protocol</artifactId>
          <version>${alihbase.version}</version>
        </dependency>