到另一个文件夹 复制hdfs上的文件_HDFS——如何将文件从HDFS复制到本地
下面兩個命令是把文件從HDFS上下載到本地的命令。
get
使用方法:Hadoop fs -get [-ignorecrc] [-crc]
復制文件到本地文件系統。可用-ignorecrc選項復制CRC校驗失敗的文件。使用-crc選項復制文件以及CRC信息。
示例:
hadoop fs -get /user/hadoop/file localfile
hadoop fs -get hdfs://host:port/user/hadoop/file localfile
返回值:
成功返回0,失敗返回-1。
copyToLocal
使用方法:hadoop fs -copyToLocal [-ignorecrc] [-crc] URI
除了限定目標路徑是一個本地文件外,和get命令類似。
也可以用如下的程序可實現將HDFS上的文件下載到本地。
import java.net.URI;
import java.io.OutputStream;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
public class FileCopy2Local
{
public static void main(String[] args) throws Exception
{
String dest = "hdfs://localhost:9000/user/laozhao0/cite2.txt";
String local = "/home/laozhao0/cite2.txt";
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(dest),conf);
FSDataInputStream fsdi = fs.open(new Path(dest));
OutputStream output = new FileOutputStream(local);
IOUtils.copyBytes(fsdi,output,4096,true);
}
}
相關閱讀:
總結
以上是生活随笔為你收集整理的到另一个文件夹 复制hdfs上的文件_HDFS——如何将文件从HDFS复制到本地的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vss和vdd的意思是什么(SS分别是什
- 下一篇: 石锤怪力是什么(石部首所有汉字)