hadoop- HDFS

1.練習

/app/hadoop-1.1.2を入力し、新しいフォルダの入力を作成し、フォルダのvi daysn.txtで

daysn呉はあるハンサム
非常にハンサム
すごいので、とてもハンサム
、彼はイエスであります

その後、保存してください。HDFSは行くこのdaysn.txtにアップロードされますイェジン。フォルダ/アップロードに設立されHDFS

HadoopのFS -mkdir / アップロード
HadoopのFS -ls /

copyFromLocalを使用してアップロードコマンド

HadoopのFS -copyFromLocal daysn.txt /アップロード/ daysn.txt 
HadoopのFS -ls /

 

 

次はコードファイルとHDFSを読み取ろう。 

そして、アプリ/ Hadoopの-1.1.2以下のフォルダクラスを作成します。classesディレクトリに、viのTest.java、次のコードを入力してください。

輸入 java.io.InputStreamを輸入 java.net.URI ;
輸入 org.apache.hadoop.conf.Configuration 
輸入org.apache.hadoop.fs *。;
輸入org.apache.hadoop.io.IOUtils。
パブリック クラスのテスト{ 公共の静的な無効メイン(文字列[]引数)が例外をスロー{
文字列URI =引数[0]。
設定confが=新しいConfiguration();
ファイルシステムFS = FileSystem.get(URI.create(URI)、CONF)。
     = nullの中のInputStream。
{試す
= fs.open(新しいパス(URI))で、
IOUtils.copyBytes(のSystem.out、4096、で、偽の);
}最後に{
IOUtils.closeStream(中)
}
} }

それから

javacの-classpath ../hadoop-core-1.1.2.jar Test.javaコンパイルそれ

次に、(数を行うには、書き込みコマンド、本当に好きcatfileという呼ばれるべきで、このクラスの名前を言う)のテストと同じコマンドを使用します。

その後、実験例で建物のローカルファイルシステムのテキストファイルを生成するために、ここで、ファイルを変更するために約100バイトをしてみてください、

ファイルの内容を読み取り、プログラムを書いて、新しいファイルとしてHDFSの101-120バイトに書き込みます

インポートのjava.io.File;
輸入java.io.FileInputStream;
輸入java.io.FileOutputStreamは、
インポートにjava.io.OutputStream;
輸入java.net.URI; 

輸入org.apache.hadoop.conf.Configuration。
輸入org.apache.hadoop.fs.FSDataInputStream;
輸入org.apache.hadoop.fs.FileSystem;
輸入org.apache.hadoop.fs.Path。
輸入org.apache.hadoop.io.IOUtils。
輸入org.apache.hadoop.util.Progressable; 

パブリック クラスLocalFile2Hdfs {
     公共 静的 ボイドメイン(文字列[]引数)がスロー{例外

        // 取得は、送信元と送信先のファイル位置パラメータ読み込む 
        文字列ローカル=の引数を[0 ]; 
        文字列URI =引数[1。]; 

        でのFileInputStream = ヌル; 
        OutputStreamのOUT = ヌル; 
        設定のconf = 新しい新しいコンフィギュレーション();
         試み{
             //は、データファイルに読み込まれます 
            =で新しい新しい FileInputStreamを(新しい新しいファイル(ローカル)); 

            // オブジェクトファイルの情報を取得する 
            ファイルシステムFS = FileSystem.get(URI.create(URI)、CONF); 
            OUTFs.create =(新しい新しいパス(URI)、新新Progressable(){ 
                @Override 
                公共 のボイドの進捗(){ 
                    System.out.printlnは( "*" ); 
                } 
            }); 

            //は、最初の100個の文字をスキップ 
            in.skip (100 );
             バイト []バッファ= 新しい新しい バイト [20である]; 

            // 位置からバッファに20文字101を読み取る
            INT bytesRead = in.read(バッファ)、
             IF(bytesRead> = 0 ){ 
                out.write (バッファ、 0、bytesRead)。
            } 
        } 最後に{ 
            IOUtils.closeStream(IN)
            IOUtils.closeStream(アウト)。
        } 
    } 
}

classesディレクトリに新しいコードファイル

 LocalFile2Hdfs.java

そして、何かを

javacの-classpath ../hadoop-core-1.1.2.jar LocalFile2Hdfs.java

入力フォルダでは、単に遊びにnew.txt、コンテンツを追加します。

 

おすすめ

転載: www.cnblogs.com/daysn/p/12286022.html