要将HDFS中的文件下载到本地,可以使用以下方法:
- 使用hadoop fs命令:
hadoop fs -get hdfs://<HDFS文件路径> <本地文件路径>
例如:
hadoop fs -get hdfs://localhost:9000/user/test.txt /tmp/test.txt
- 使用distcp命令:
hadoop distcp hdfs://<HDFS文件路径> file://<本地文件路径>
例如:
hadoop distcp hdfs://localhost:9000/user/test.txt file:///tmp/test.txt
- 使用Java API: 可以使用Hadoop提供的Java API来读取HDFS中的文件并将其写入本地文件系统。以下是一个简单的Java示例代码:
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class HDFSDownload {
public static void main(String[] args) {
try {
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);
Path hdfsFilePath = new Path("hdfs://localhost:9000/user/test.txt");
Path localFilePath = new Path("/tmp/test.txt");
fs.copyToLocalFile(hdfsFilePath, localFilePath);
} catch (Exception e) {
e.printStackTrace();
}
}
}