Submit Hadoop Jobs Interactively - Amazon EMR

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

Submit Hadoop Jobs Interactively

クラスターにステップを追加する他に、SSH クライアントまたは AWS CLI を使用してマスターノードに接続し、インタラクティブに Hadoop ジョブを送信できます。たとえば、PuTTY を使用して、マスターノードとの SSH 接続を確立し、インタラクティブな Hive クエリを送信できます。クエリは 1 つ以上の Hadoop ジョブにコンパイルされます。

マスターノードへの SSH 接続を確立することで、Hadoop ジョブをインタラクティブに送信できます。PuTTY や OpenSSH などの SSH クライアントを使用するか、AWS CLI で SSH サブコマンドを使用して SSH 接続を確立します。クラスターで実行しているアクティブなステップが 256 ある場合でも、マスターノードにジョブをインタラクティブに送信できます。ただし、インタラクティブに送信されるジョブに関連付けられているログレコードが、現在実行されているステップのコントローラログの [step created jobs] セクションに含まれることに注意してください。ステップログの詳細については、「View Log Files」を参照してください。

以下の例は、マスターノードに Hadoop ジョブと Hive ジョブをインタラクティブに送信する方法を示しています。他のプログラミングフレームワーク (Pig など) でジョブを送信するプロセスも、これらの例と同様です。

AWS CLI を使用してインタラクティブに Hadoop ジョブを送信するには

  • AWS CLI を使用して、AWS CLI コマンドで SSH 接続を確立することによって (ssh サブコマンドを使用)、インタラクティブに Hadoop ジョブを送信できます。ローカルの Windows マシンからマスターノードのファイルシステムに JAR ファイルをコピーするには、次のコマンドを入力します。Replace (置換) j-2A6HXXXXXXL7J クラスタIDで交換し、mykey.ppk キーペアファイルの名前を付けて、myjar.jar JARファイルの名前。

    aws emr put --cluster-id j-2A6HXXXXXXL7J --key-pair-file "C:\Users\username\Desktop\Keys\mykey.ppk" --src "C:\Users\username\myjar.jar"

    SSH 接続を作成し、Hadoop ジョブ myjar.jar を送信するには、次のコマンドを入力します。

    aws emr ssh --cluster-id j-2A6HXXXXXXL7J --key-pair-file "C:\Users\username\Desktop\Keys\mykey.ppk" --command "hadoop jar myjar.jar"

AWS CLI での Amazon EMR コマンドの使用方法の詳細については、https://docs.aws.amazon.com/cli/latest/reference/emr を参照してください。

AWS CLI を使用してインタラクティブに Hive ジョブを送信するには

JAR ファイルを通じてマスターノードにジョブを送信するだけでなく、マスターノード上で実行されている Hadoop プログラミングフレームワークのいずれかとやり取りすることによって、ジョブを送信することもできます。たとえば、コマンドラインで Hive クエリまたは Pig 変換をインタラクティブに送信できます。または、スクリプトをクラスターに送信して処理できます。その場合、コマンドまたはスクリプトは、1 つ以上の Hadoop ジョブにコンパイルされます。

次の手順は、AWS CLI を使用して Hive スクリプトを実行する方法を示しています。

  1. クラスターに Hive がインストールされていない場合は、次のコマンドを入力してインストールします。Replace (置換) j-2A6HXXXXXXL7J クラスタ ID を使用します。

    aws emr install-applications --cluster-id j-2A6HXXXXXXL7J --apps Name=Hive
  2. 実行するクエリまたはコマンドを含む Hive スクリプトファイルを作成します。次の my-hive.q という名前のサンプルスクリプトでは、aTableanotherTable という 2 つのテーブルを作成し、aTable の内容を anotherTable にコピーして、すべてのデータを置き換えます。

    ---- sample Hive script file: my-hive.q ---- create table aTable (aColumn string) ; create table anotherTable like aTable; insert overwrite table anotherTable select * from aTable
  3. 次のコマンドを入力して、コマンドラインから ssh サブコマンドを使用してスクリプトを実行します。

    Windows マシンからクラスターに my-hive.q をコピーするには、次のコマンドを入力します。Replace (置換) j-2A6HXXXXXXL7J クラスタIDを使用して、mykey.ppk キー ペア ファイルの名前。

    aws emr put --cluster-id j-2A6HXXXXXXL7J --key-pair-file "C:\Users\username\Desktop\Keys\mykey.ppk" --src "C:\Users\username\my-hive.q"

    SSH 接続を作成し、Hive スクリプト my-hive.q を送信するには、次のコマンドを入力します。

    aws emr ssh --cluster-id j-2A6HXXXXXXL7J --key-pair-file "C:\Users\username\Desktop\Keys\mykey.ppk" --command "hive -f my-hive.q"

AWS CLI での Amazon EMR コマンドの使用方法の詳細については、「https://docs.aws.amazon.com/cli/latest/reference/emr」を参照してください。