環境:Eclipse + Eclipse Hadoop插件, Hadoop + RHEL6.4
Java讀寫HDFS簡單Demo
package test;
import java.io.IOException;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;;
public class Test {
public void WriteFile(String hdfs) throws IOException {
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(hdfs),conf);
FSDataOutputStream hdfsOutStream = fs.create(new Path(hdfs));
hdfsOutStream.writeChars("hello");
hdfsOutStream.close();
fs.close();
}
public void ReadFile(String hdfs) throws IOException {
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(hdfs),conf);
FSDataInputStream hdfsInStream = fs.open(new Path(hdfs));
byte[] ioBuffer = new byte[1024];
int readLen = hdfsInStream.read(ioBuffer);
while(readLen!=-1)
{
System.out.write(ioBuffer, 0, readLen);
readLen = hdfsInStream.read(ioBuffer);
}
hdfsInStream.close();
fs.close();
}
public static void main(String[] args) throws IOException {
String hdfs = "hdfs://192.168.56.112:9000/test/hello.txt";
Test t = new Test();
t.WriteFile(hdfs);
t.ReadFile(hdfs);
}
}
--------------------------------------分割線 --------------------------------------
將本地文件拷到HDFS中 http://www.linuxidc.com/Linux/2013-05/83866.htm
從HDFS下載文件到本地 http://www.linuxidc.com/Linux/2012-11/74214.htm
將本地文件上傳至HDFS http://www.linuxidc.com/Linux/2012-11/74213.htm
HDFS基本文件常用命令 http://www.linuxidc.com/Linux/2013-09/89658.htm
Hadoop中HDFS和MapReduce節點基本簡介 http://www.linuxidc.com/Linux/2013-09/89653.htm
《Hadoop實戰》中文版+英文文字版+源碼【PDF】 http://www.linuxidc.com/Linux/2012-10/71901.htm
Hadoop: The Definitive Guide【PDF版】 http://www.linuxidc.com/Linux/2012-01/51182.htm
--------------------------------------分割線 --------------------------------------