使用Java API操作 HDFS,在 /user/hadoop/test 目录下创建一个文件 mytest.txt,在该文件中写入如下内容: Hadoop is very easy to learn
时间: 2024-05-03 17:21:39 浏览: 138
。以下是Java代码:
```java
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.BufferedOutputStream;
import java.io.OutputStream;
import java.net.URI;
public class HDFSExample {
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(new URI("hdfs://localhost:9000"), conf, "hadoop");
Path file = new Path("/user/hadoop/test/mytest.txt");
OutputStream os = new BufferedOutputStream(fs.create(file));
String content = "Hadoop is very easy to learn.";
os.write(content.getBytes("UTF-8"));
os.flush();
os.close();
fs.close();
}
}
```
注意,在上面的代码中我们使用了 `FileSystem.get()` 方法来获取 HDFS 的 `FileSystem` 实例。该方法需要传入三个参数:
1. HDFS 的 URI:在本例中为 `hdfs://localhost:9000`。
2. Hadoop 配置对象:在本例中我们使用 `Configuration` 的默认构造方法创建了一个新的空配置对象。
3. 当前用户:在本例中为 `hadoop`。
如果你的 Hadoop 集群是使用 Kerberos 认证的,那么还需要对 `Configuration` 对象进行一些额外的配置,以便使用正确的 Kerberos 凭据进行身份验证。
阅读全文