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

Object Storage Service:EMRクラスターでHiveを使用してOSS-HDFSに格納されたデータを処理する

最終更新日:Dec 20, 2023

このトピックでは、E-MapReduce (EMR) クラスターでHiveを使用して、OSS-HDFSに格納されているデータを処理する方法について説明します。

前提条件

  • EMR V3.42.0以降、またはEMR V5.8.0以降のクラスターが作成され、Hiveサービスが選択されています。 詳細については、「クラスターの作成」をご参照ください。

  • バケットのOSS-HDFSが有効になり、OSS-HDFSに対するアクセス許可が付与されます。 OSS-HDFSを有効にする方法の詳細については、「OSS-HDFSの有効化とアクセス許可の付与」をご参照ください。

手順

  1. EMRクラスターにログインします。

    1. EMRコンソールにログインします。 左側のナビゲーションウィンドウで、[ECS上のEMR] をクリックします。

    2. 作成したEMRクラスターをクリックします。

    3. [ノード] タブをクリックし、ノードグループの左側にある [+] をクリックします。

    4. ECSインスタンスのIDをクリックします。 [インスタンス] ページで、インスタンスIDの横にある [接続] をクリックします。

    SSHキーペアまたはSSHパスワードを使用してWindowsまたはLinuxでクラスターにログインする方法の詳細については、「クラスターにログインする」をご参照ください。

  2. ターミナルで次のコマンドを使用して、Hiveに接続します。

    その他の接続方法については、「Hiveへの接続」をご参照ください。

    ハイブ
  3. ターミナルで次のコマンドを使用して、Hiveに接続します。

    その他の接続方法については、「Hiveへの接続」をご参照ください。

    ハイブ
  4. 既存のテーブルにパーティションを追加します。

    既存のテーブルにパーティションを追加して、テーブルのデータをより小さな単位で格納できます。 パーティションに基づいてクエリ条件を指定できます。 これにより、指定された条件を満たすパーティションのみがスキャンされ、クエリのパフォーマンスが向上します。

    • コマンド構文

      ALTER TABLE <table_name> ADD [存在しない場合] PARTITION <pt_spec> [PARTITION <pt_spec> PARTITION <pt_spec>...] 場所 '場所';

      次の表に、上記のコマンドのパラメーターを示します。

      パラメーター

      必須

      説明

      table_name

      必須

      パーティションを追加するテーブルの名前。

      存在しない場合

      任意

      テーブルに同じ名前のパーティションが含まれている場合、エラーがスキップされる原因となるパラメーター。 If NOT EXISTSパラメーターが指定されておらず、追加するパーティションと同じ名前のパーティションがすでに存在する場合、操作に失敗し、エラーが返されます。

      pt_spec

      必須

      追加するパーティション。The partition that you want to add. このパラメーターの値は、(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...) 形式です。 この形式では、partition_colはパーティションキー列の名前、partition_col_valueはその値です。 パーティションキー列の名前は大文字と小文字を区別せず、値は大文字と小文字を区別します。

      場所

      必須

      パーティションにデータを格納するために使用されるOSSパス。

    • 次のサンプルコードは、2021年12月にsale_detailという名前のテーブルにパーティションを追加して販売レコードを中国 (杭州) リージョンに格納し、パーティションにデータを格納するために使用されるOSSパスを指定する方法の例を示しています。

      ALTER TABLE sale_detail ADD IF NOT EXISTS PARTITION (sale_date='20212' 、region='hangzhou') LOCATION 'oss:// examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/path/2021/';