博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDFS:如何将文件从HDFS复制到本地
阅读量:4211 次
发布时间:2019-05-26

本文共 1165 字,大约阅读时间需要 3 分钟。

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

转载自:

你可能感兴趣的文章
使用mingw(fedora)移植virt-viewer
查看>>
趣链 BitXHub跨链平台 (4)跨链网关“初介绍”
查看>>
C++ 字符串string操作
查看>>
MySQL必知必会 -- 了解SQL和MySQL
查看>>
MySQL必知必会 -- 使用MySQL
查看>>
MySQL必知必会 -- 数据检索
查看>>
MySQL必知必会 -- 排序检索数据 ORDER BY
查看>>
MySQL必知必会 -- 数据过滤
查看>>
MYSQL必知必会 -- 用通配符进行过滤
查看>>
MYSQL必知必会 -- 用正则表达式进行搜索
查看>>
MySQL必知必会 -- 创建计算字段
查看>>
MySQL必知必会 -- 使用数据处理函数
查看>>
MySQL必知必会 -- 数据汇总
查看>>
MySQL必知必会 -- 子查询的使用
查看>>
POJ 3087 解题报告
查看>>
POJ 2536 解题报告
查看>>
POJ 1154 解题报告
查看>>
POJ 1661 解题报告
查看>>
POJ 1101 解题报告
查看>>
ACM POJ catalogues[转载]
查看>>