Hadoop ジョブのインタラクティブな送信 - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Hadoop ジョブのインタラクティブな送信

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

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

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

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

  • AWS CLI を使用して Hadoop ジョブをインタラクティブに送信するには、AWS CLIを使用するコマンドをsshサブコマンドを実行します。ローカルの Windows マシンからマスターノードのファイルシステムに JAR ファイルをコピーするには、次のコマンドを入力します。置換 j-2A6HXXXXXXL7J をクラスター ID に置き換える場合は、mykey.ppk をkey pair ファイルの名前に置き換え、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 がインストールされていない場合は、次のコマンドを入力してインストールします。置換 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 をコピーするには、次のコマンドを入力します。置換 j-2A6HXXXXXXL7J をクラスター ID に置き換え、mykey.ppk key pair ファイルの名前に置き換えます。

    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