HDFS API操作

1:Hadoopの環境では、Windowsの下で実行するように設定します
    最初のステップ:中国のパスにhadoop2.7.5フォルダ無下にスペースなし
    ステップ2:環境変数上のウィンドウでのHadoopの設定:HADOOP_HOME、および%のHADOOP_HOMEの%のの\ binがパスに追加しました
    第三段階:システムトレイにbinディレクトリの下にhadoop2.7.5フォルダhadoop.dllファイル:C:\ WINDOWS \ System32ディレクトリ
    ステップ4:Windowsの再起動を閉じました
 
2:FileSystemの方法を取得
    @テスト
    公共のボイドgetFileSystem2は(){例外がスローされます
        ファイルシステムのファイルシステム= FileSystem.get(新しいURI( " HDFS:// node01:8020 ")、
        新しいConfiguration()); //新しいConfiguration()オブジェクトの自動的にXML設定ファイルhaoopを読み込みます
        System.out.println( "ファイルシステム:" +ファイルシステム)。
    }
 
3:HDFS API操作
    / *
      フォルダとファイルの作成
    * /
    @テスト
    ます。public void mkdirs(){例外がスローされます
        ファイルシステムのファイルシステム= FileSystem.get(新しいURI(」 HDFS:// node01:8020" )、新しい コンフィギュレーション());
        //ブールmkdirs =のfileSystem.mkdirs(新しいパス( "/ハロー/ MYDIR /テスト")); //は再帰的にフォルダを作成します
         / *
           1:親ディレクトリが存在しない場合は、自動的に作成されます
           2:あなたは、ファイルを作成すると、ファイルがユーザーに属しているがあなたの窓の下で、ユーザーであります
         * /
        ブールmkdirs = fileSystem.create(新しいパス( "/ハロー/ MYDIR /テスト"));
        fileSystem.close();
    }
 
4:HDFSファイル取得の流れ
    // --- ---入力ストリームHDFSファイルを取得します> HDFSファイルを読む>ダウンロード
    FSDataInputStreamのinputStream = fileSystem.open(新しいパス( "/ A.TXT"));
    // HDFSファイル出力ストリームを取得--->書き込みデータファイルのHDFSへ
    FSDataOutputStreamのOutputStream = fileSystem.create(新しいパス( "/ A.TXT"));
 
 
    //ファイルのアップロード:
    fileSystem.copyFromLocalFile(新しいパス( " D://set.xml ")、新しいパス("/"));
    //ファイルのダウンロード:
    fileSystem.copyToLocalFile(新しいパス( "/ A.TXT")、新しいパス( " D://a4.txt"));
 
5:HDFSのパーミッションの問題
  1:あなたはHDFS権を有効にする場合は、次のように変更され、HDFS-site.xmlファイルを変更する必要があります。
    <プロパティ>
            <名前> dfs.permissions </名前>
            <値>真</ value>の
    </プロパティ>
  2:偽のユーザー://フィルターフィルターにアクセスするユーザーのID
      //最後のパラメータのルート、ルートとして訪問することです
      ファイルシステムのファイルシステム= FileSystem.get(新しいURI( " HDFS:// node01:8020 ")、新しいConfiguration()、"ルート");
 
6:HDFS高可用性(HA)
   1:HDFS名前ノードの可用性状態はアクティブであり、スタンバイ状態であり、2であります
   2:二つ名前ノードを解決するためのシングルポイント障害を飼育係ジャーナルノードはメタデータ2名前ノードの同期を保証するために使用
 
7:MapReduceのアイデア
  MpReduceは糸上で実行されます
  フェージング:
      地図相:小さなタスクへの大規模なタスクの責任は、小さなタスク間の依存関係を持つことはできません
      フェーズを削減:集計の結果を地図に責任相を
 
 
8:MapReduceのステップ
    地図フェーズ2つの段階
        キー値(K1及びV1)に切断1セットのInputFormatクラスデータは、第2のステップに入力されます。
        2.カスタム・ロジックマップ(コードを書くために)、別のキー値(K2およびV2)へのステップの結果を変換対、出力
    ステージ4つのステップはシャッフル
        3.パーティション(パーティション)
        4.並べ替え(ソート)
        法令(コンバイナがあります)
        6.パケット(グループ別)ETL
    フェーズ2の手順を削減
        7.新しいキー値に新しいK2とV2になります(コードを書くために)カスタムロジックを削減(K3とV3)の出力
        8.設定プロセスをOUTPUTFORMAT削減し、出力データK3とV3を保存

おすすめ

転載: www.cnblogs.com/xiaobinggun/p/11595187.html