E-MapReduce (EMR) は Hive 環境を提供します。 Hive を使用してテーブルを作成し、テーブルとその中のデータに対して操作を実行できます。
前提条件
- プロジェクトが作成されていること。 詳細については、「プロジェクトの管理」をご参照ください。
- Hive SQL スクリプト (例: uservisits_aggre_hdfs.hive) が OSS のパス (例: oss://path/to/) にアップロードされていること。 uservisits_aggre_hdfs.hive の内容:
USE DEFAULT; DROP TABLE uservisits; // uservisits テーブルを作成します。 CREATE EXTERNAL TABLE IF NOT EXISTS uservisits (sourceIP STRING,destURL STRING,visitDate STRING,adRevenue DOUBLE,userAgent STRING,countryCode STRING,languageCode STRING,searchWord STRING,duration INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS SEQUENCEFILE LOCATION '/HiBench/Aggregation/Input/uservisits'; DROP TABLE uservisits_aggre; // uservisits_aggre テーブルを作成します。 CREATE EXTERNAL TABLE IF NOT EXISTS uservisits_aggre (sourceIP STRING, sumAdRevenue DOUBLE) STORED AS SEQUENCEFILE LOCATION '/HiBench/Aggregation/Output/uservisits_aggre'; // uservisits テーブルからデータを抽出し、uservisits_aggre テーブルに挿入します。 INSERT OVERWRITE TABLE uservisits_aggre SELECT sourceIP, SUM(adRevenue) FROM uservisits GROUP BY sourceIP;
手順
- [データプラットフォーム]タブに移動します。
- Alibaba Cloud アカウントを使用して、Alibaba Cloud EMR コンソール にログインします。
- 上部のナビゲーションバーで、クラスタが存在するリージョンを選択 し、ビジネス要件に基づいてリソースグループを選択します。
- [データプラットフォーム] タブをクリックします。
- [プロジェクト] セクションで、プロジェクトを見つけて、[操作]列の [ジョブの編集] をクリックします。
- Hive ジョブを作成します。
- 左側の [ジョブの編集]ペインで、操作を実行するフォルダーを右クリックし、[ジョブの作成] を選択します。
- [ジョブの作成] ダイアログボックスで、[名前] と [説明] を指定し、[hive] を [ジョブの種類] ドロップダウンリストから選択します。 このオプションは、Hive ジョブが作成されることを示します。 次のコマンド構文を使用して Hive ジョブを送信できます:
hive [user provided parameters] - [OK] をクリックします。
- ジョブの内容を編集します。
- [コンテンツ] フィールドに、ジョブの送信に必要なコマンドラインパラメーターを指定します。 たとえば、OSS にアップロードされた Hive スクリプトを使用するには、次のコマンドを入力します:
-f ossref://path/to/uservisits_aggre_hdfs.hive説明pathは、uservisits_aggre_hdfs.hiveが OSS に保存されているパスを示します。ページの下部にある [+ OSS パスを入力] をクリックします。 [OSS ファイル]ダイアログボックスで、[ファイルパス]を指定します。 システムは OSS 内の Hive スクリプトのパスを自動的に入力します。 EMR がファイルをダウンロードできるように、ファイルプレフィックスは [OSSREF] に設定する必要があります。
- [保存] をクリックします。
- [コンテンツ] フィールドに、ジョブの送信に必要なコマンドラインパラメーターを指定します。