前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HDFS——如何将文件从HDFS复制到本地

HDFS——如何将文件从HDFS复制到本地

作者头像
星哥玩云
发布2022-06-30 21:27:33
6.2K0
发布2022-06-30 21:27:33
举报
文章被收录于专栏:开源部署开源部署

下面两个命令是把文件从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);  } }

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档