更新时间:2024-10-18 GMT+08:00
创建HDFS多线程任务
功能简介
建立多线程任务,同时启动多个实例执行文件操作。
代码样例
如下是删除文件的代码片段,详细代码请参考com.huawei.bigdata.hdfs.examples中的HdfsExample类。
// 业务示例2:多线程
final int THREAD_COUNT = 2;
for (int threadNum = 0; threadNum < THREAD_COUNT; threadNum++) {
HdfsExampleThread example_thread = new HdfsExampleThread("hdfs_example_" + threadNum);
example_thread.start();
}
class HdfsExampleThread extends Thread {
private final static Log LOG = LogFactory.getLog(HdfsExampleThread.class.getName());
/**
*
* @param threadName
*/
public HdfsExampleThread(String threadName) {
super(threadName);
}
public void run() {
HdfsExample example;
try {
example = new HdfsExample("/user/hdfs-examples/" + getName(), "test.txt");
example.test();
} catch (IOException e) {
LOG.error(e);
}
}
}
example.test()方法即为对文件的操作,代码如下:
/**
* HDFS 操作实例
*
* @throws IOException
* @throws ParameterException
*
* @throws Exception
*
*/
public void test() throws IOException {
// 创建目录
mkdir();
// 写文件
write();
// 追加文件内容
append();
// 读文件
read();
// 删除文件
delete();
// 删除目录
rmdir();
}
父主题: 开发HDFS应用