Share via


HDInsight 上の Apache Hadoop で MapReduce と SSH を使用する

Secure Shell (SSH) 接続から HDInsight に MapReduce ジョブを送信する方法について説明します。

注意

Linux ベースの Apache Hadoop サーバーは使い慣れているが HDInsight は初めてという場合は、「Linux での HDInsight の使用方法」をご覧ください。

前提条件

HDInsight の Apache Hadoop クラスター。 Azure portal を使用した Apache Hadoop クラスターの作成に関するページを参照してください。

Hadoop コマンドの使用

  1. ssh コマンドを使用してクラスターに接続します。 次のコマンドを編集して CLUSTERNAME をクラスターの名前に置き換えてから、そのコマンドを入力します。

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. HDInsight クラスターに接続されたら、以下のコマンドを使用して MapReduce ジョブを起動します。

    yarn jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar wordcount /example/data/gutenberg/davinci.txt /example/data/WordCountOutput
    

    このコマンドは、hadoop-mapreduce-examples.jar ファイルに含まれている wordcount クラスを起動します。 入力として /example/data/gutenberg/davinci.txt ドキュメントを使用し、出力を /example/data/WordCountOutput に格納します。

    注意

    この MapReduce ジョブとサンプル データの詳細については、「HDInsight 上の Apache Hadoop で MapReduce を使用する」をご覧ください。

    処理中に詳細が生成され、ジョブが完了すると、次のテキストのような情報が返されます。

    File Input Format Counters
    Bytes Read=1395666
    File Output Format Counters
    Bytes Written=337623
    
  3. ジョブが完了したら、次のコマンドを使用して出力ファイルを表示します。

    hdfs dfs -ls /example/data/WordCountOutput
    

    このコマンドは、_SUCCESSpart-r-00000 の 2 つのファイルを表示します。 part-r-00000 ファイルには、このジョブの出力が含まれています。

    注意

    一部の MapReduce ジョブでは、複数の part-r-##### ファイルに結果が分割される場合があります。 このとき、ファイルの順番を特定するには ##### サフィックスを使用します。

  4. 出力を表示するには、次のコマンドを使用します。

    hdfs dfs -cat /example/data/WordCountOutput/part-r-00000
    

    このコマンドでは、wasbs://example/data/gutenberg/davinci.txt ファイルに含まれる文字の一覧と各文字の出現回数が表示されます。 ファイルに含まれるデータの例を次のテキストに示します。

    wreathed        3
    wreathing       1
    wreaths         1
    wrecked         3
    wrenching       1
    wretched        6
    wriggling       1
    

次のステップ

このように、Hadoop コマンドを使用すると、HDInsight クラスターで簡単に MapReduce ジョブを実行し、ジョブ出力を表示できます。 HDInsight での Hadoop のその他の使用方法に関する情報