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

E-MapReduce:JindoTable を使用してテーブルとパーティションのアクセス頻度統計を収集する

最終更新日:Jan 11, 2025

JindoTable を使用して、テーブルとパーティションのアクセス頻度統計を収集し、これらの統計に基づいてコールドデータとホットデータを分離できます。 これにより、ストレージコストを削減し、キャッシュ使用効率を向上させることができます。

前提条件

E-MapReduce(EMR)クラスターが作成されていること。 詳細については、「クラスターの作成」をご参照ください。

背景情報

JindoTable を使用して、Hive テーブルのアクセス頻度統計を収集できます。 収集されたデータは、クラスターの SmartData サービスの名前空間に保存されます。

SmartData 3.2.X 以降では、JindoTable を使用して Spark、Hive、および Presto テーブルのアクセス頻度統計を収集できます。 この機能は、Spark および Presto ではデフォルトで有効になっています。 Spark または Presto でこの機能を無効にする場合は、「アクセス頻度統計の収集を無効にする」で説明されている操作を実行します。 この機能は、Hive ではデフォルトで無効になっています。 Hive でこの機能を有効にする場合は、「Hive のアクセス頻度統計の収集を有効にする」で説明されている操作を実行します。

アクセス頻度統計のクエリ

コマンドを実行して、アクセス頻度統計をクエリできます。
  • 構文
    jindo table -accessStat <-d [days]> <-n [topNums]>

    daystopNums を正の整数に設定します。 たとえば、days を 1 に設定し、topNums を指定しない場合、当日(00:00 から現在時刻まで)にアクセスされたすべてのテーブルまたはパーティションのアクセス頻度統計がクエリされます。

  • 説明

    このコマンドは、特定の期間内に最も頻繁にアクセスされた最初の N 個のテーブルまたはパーティション、およびそれぞれのアクセス回数をクエリするために使用されます。

  • たとえば、次のコマンドを実行して、過去 7 日間に最も頻繁にアクセスされた最初の 20 個のテーブルまたはパーティション、およびそれぞれのアクセス回数をクエリできます。
    jindo table -accessStat -d 7 -n 20

JindoTable の使用方法の詳細については、「JindoTable の使用」をご参照ください。

Hive のアクセス頻度統計の収集を有効にする

  1. Alibaba Cloud EMR コンソール にログインします。
  2. 上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します
  3. [クラスター管理] タブをクリックします。
  4. [クラスター管理] ページで、クラスターを見つけて、[アクション] 列の [詳細] をクリックします。
  5. Hive パラメーターの設定を変更します。
    1. 左側のナビゲーションペインで、[クラスターサービス] > [hive] を選択します。
    2. Hive サービスページで、[構成] タブをクリックします。
    3. hive.exec.post.hooks パラメーターを検索し、既存のパラメーター値の末尾に com.aliyun.emr.table.hive.HivePostHook を追加します。 フックはコンマ(,)で区切ります。
  6. 構成を保存します。
    1. [サービス構成] セクションの右上隅にある [保存] をクリックします。
    2. [変更の確認] ダイアログボックスで、[説明] を指定し、[構成の自動更新] をオンにします。
    3. [OK] をクリックします。
  7. 関連サービスを再起動します。
    1. Hive サービスページの右上隅で、[アクション] > [hiveserver2 の再起動] を選択します。
    2. [クラスターアクティビティ] ダイアログボックスで、[説明] を指定します。
    3. [OK] をクリックします。
    4. [確認] メッセージで、[OK] をクリックします。

アクセス頻度統計の収集を無効にする

  1. Alibaba Cloud EMR コンソール にログインします。
  2. 上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します
  3. [クラスター管理] タブをクリックします。
  4. [クラスター管理] ページで、クラスターを見つけて、[アクション] 列の [詳細] をクリックします。
  5. 関連パラメーターの設定を変更します。
    • Hive:
      1. 左側のナビゲーションペインで、[クラスターサービス] > [hive] を選択します。
      2. Hive サービスページで、[構成] タブをクリックします。
      3. hive.exec.post.hooks パラメーターを検索し、パラメーター値から com.aliyun.emr.table.hive.HivePostHook を削除します。 hive-site
    • Spark:
      1. 左側のナビゲーションペインで、[クラスターサービス] > [spark] を選択します。
      2. Spark サービスページで、[構成] タブをクリックします。
      3. spark.sql.queryExecutionListeners パラメーターを検索し、パラメーター値から com.aliyun.emr.table.spark.SparkSQLQueryListener を削除します。 spark_default
    • Presto:
      1. 左側のナビゲーションペインで、[クラスターサービス] > [presto] を選択します。
      2. Presto サービスページで、[構成] タブをクリックします。
      3. event-listener.name パラメーターを検索し、パラメーター値を削除します。
  6. 構成を保存します。
    1. [サービス構成] セクションの右上隅にある [保存] をクリックします。
    2. [変更の確認] ダイアログボックスで、[説明] を指定し、[構成の自動更新] をオンにします。
    3. [OK] をクリックします。
  7. 関連サービスを再起動します。
    • Hive:
      1. Hive サービスページの右上隅で、[アクション] > [hiveserver2 の再起動] を選択します。
      2. [クラスターアクティビティ] ダイアログボックスで、[説明] を指定します。
      3. [OK] をクリックします。
      4. [確認] メッセージで、[OK] をクリックします。
    • Spark:
      1. Spark サービスページの右上隅で、[アクション] > [thriftserver の再起動] を選択します。
      2. [クラスターアクティビティ] ダイアログボックスで、[説明] を指定します。
      3. [OK] をクリックします。
      4. [確認] メッセージで、[OK] をクリックします。
    • Presto:
      1. Presto サービスページの右上隅で、[アクション] > [すべてのコンポーネントの再起動] を選択します。
      2. [クラスターアクティビティ] ダイアログボックスで、[説明] を指定します。
      3. [OK] をクリックします。
      4. [確認] メッセージで、[OK] をクリックします。