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

E-MapReduce:JindoTable のアクセス頻度の収集

最終更新日:Jun 25, 2026

JindoTable のテーブルまたはパーティションのアクセス頻度を収集することで、コールドデータとホットデータを区別し、ストレージコストを削減し、キャッシュ効率を向上させることができます。

前提条件

Alibaba Cloud E-MapReduce (EMR) クラスターが必要です。詳細については、「クラスターの作成」をご参照ください。

背景

JindoTable は、Hive テーブルのアクセスレコードの収集をサポートしています。収集されたデータは、SmartData サービスの名前空間に保存されます。

SmartData 3.2.x 以降では、Spark、Hive、Presto エンジンのアクセス頻度収集をサポートしています。この機能は、Spark と Presto ではデフォルトで有効になっています。無効にするには、「アクセス頻度収集の無効化」をご参照ください。この機能は、Hive ではデフォルトで無効になっています。有効にするには、「Hive のアクセス頻度収集の有効化」をご参照ください。

データのクエリ

JindoTable コマンドを使用して、アクセス頻度をクエリできます。

  • 構文:

    jindo table -accessStat <-d [days]> <-n [topNums]>

    daystopNums の値は正の整数である必要があります。days を 1 に設定すると、コマンドは当日 (ローカルタイム) の 00:00 から現在時刻までのすべてのアクセスレコードをクエリします。

  • 機能:

    指定した期間内にアクセス頻度が最も高い上位 N 件のテーブルまたはパーティションをクエリします。

  • 例:過去 7 日間でアクセス頻度が最も高い 20 件のテーブルまたはパーティションをクエリします。

    jindo table -accessStat -d 7 -n 20

JindoTable の詳細については、「JindoTable ユーザーガイド」をご参照ください。

Hive のアクセス頻度収集の有効化

  1. Alibaba Cloud E-MapReduce コンソールにログインします。

  2. 上部メニューバーで、リージョンとリソースグループを選択します。

  3. Clusters タブをクリックします。

  4. Clusters ページで、対象のクラスターを見つけ、[Actions] 列の Details をクリックします。

  5. Hive サービスの設定を変更します。

    1. 左側のナビゲーションペインで、Services > [Hive] を選択します。

    2. Hive サービスページで、Configure タブをクリックします。

    3. hive.exec.post.hooks パラメーターを検索し、その値に com.aliyun.emr.table.hive.HivePostHook を追加します。

  6. 設定を保存します。

    1. 右上隅の Save をクリックします。

    2. 変更する ダイアログボックスで、Execution Reason を入力し、[設定の自動適用] を有効にします。

    3. OK をクリックします。

  7. サービスを再起動します。

    1. Hive サービスページで、右上隅にある 操作 > [HiveServer2 の再起動] を選択します。

    2. [クラスター操作の実行] ダイアログボックスで、Execution Reason を入力します。

    3. OK をクリックします。

    4. Confirm ダイアログボックスで、OK をクリックします。

アクセス頻度収集の無効化

  1. Alibaba Cloud E-MapReduce コンソールにログインします。

  2. 上部メニューバーで、リージョンとリソースグループを選択します。

  3. Clusters タブをクリックします。

  4. Clusters ページで、対象のクラスターを見つけ、[Actions] 列の Details をクリックします。

  5. パラメーターの値を変更します。

    • Hive サービス:

      1. 左側のナビゲーションペインで、Services > [Hive] を選択します。

      2. Hive サービスページで、Configure タブをクリックします。

      3. hive.exec.post.hooks パラメーターを検索し、その値から com.aliyun.emr.table.hive.HivePostHook を削除します。このパラメーターを見つけるには、[Configuration Search] ボックスに hive.exec.post.hooks と入力します。パラメーターは [hive-site] セクションにあります。

    • Spark サービス:

      1. 左側のナビゲーションペインで、Services > [Spark] を選択します。

      2. Spark サービスページで、Configure タブをクリックします。

      3. spark.sql.queryExecutionListeners パラメーターを検索し、その値から com.aliyun.emr.table.spark.SparkSQLQueryListener を削除します。このパラメーターを見つけるには、[Configuration Search] ボックスに spark.sql.queryExecutionListeners と入力します。パラメーターは [spark-defaults] セクションにあり、現在の値は com.aliyun.emr.table.spark.SparkSQLQueryListener です。

    • Presto サービス:

      1. 左側のナビゲーションペインで、Services > [Presto] を選択します。

      2. Presto サービスページで、Configure タブをクリックします。

      3. event-listener.name パラメーターを検索し、その値をクリアします。

  6. 設定を保存します。

    1. 右上隅の Save をクリックします。

    2. 変更する ダイアログボックスで、Execution Reason を入力し、[設定の自動適用] を有効にします。

    3. OK をクリックします。

  7. サービスを再起動します。

    • Hive サービス:

      1. Hive サービスページで、右上隅にある 操作 > [HiveServer2 の再起動] を選択します。

      2. [クラスター操作の実行] ダイアログボックスで、Execution Reason を入力します。

      3. OK をクリックします。

      4. Confirm ダイアログボックスで、OK をクリックします。

    • Spark サービス:

      1. Spark サービスページで、右上隅にある 操作 > [ThriftServer の再起動] を選択します。

      2. [クラスター操作の実行] ダイアログボックスで、Execution Reason を入力します。

      3. OK をクリックします。

      4. Confirm ダイアログボックスで、OK をクリックします。

    • Presto サービス:

      1. Presto サービスページで、右上隅にある 操作 > [すべてのコンポーネントの再起動] を選択します。

      2. [クラスター操作の実行] ダイアログボックスで、Execution Reason を入力します。

      3. OK をクリックします。

      4. Confirm ダイアログボックスで、OK をクリックします。