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、コンテンツを追加します。