hdfs文件如何导出到服务器,[Hadoop] 如何将 HDFS 文件导出到 Windows文件系统

介绍如何在 Windows 环境中, 将保存在 HDFS 上的文件导出到本机上

数据导入到 HDFS 后

当然也要有方法将数据从 HDFS 导出到本机系统上

在 HADOOP JAVA API 所提供的  FileSystem 类

就提供 copyToLocalFile 函数将文件复制回本机文件系统

理论上这是可以轻易的做到这件事情

但实际使用时, 才发现一个问题

当客户端用的是 windows 而不是 linux

程序也不是在 cluster 主机上执行时

此时调用 copyToLocalFile 函数

Hadoop 会丢出一个例外:

Cannot run program "chmod": CreateProcess error=2, ?t?Χ??????

解决方法是在电脑上安装 cygwin

这样 hadoop 就可以调用到 chmod 命令

但如果要求所有使用者一定要在 window 上安装 cygwin 这样也挺怪的

所以想到了另一个方法

就是直接用 file stream 方式

将 HDFS 数据读出后, 再写回本地端的文件系统

这样就可以解决数据导出的问题

/*

将 HDFS 上文件, 导出至本机磁盘上

*/

public void exportFile(Path hdfsSource, String targetPath){

Configuration conf = new Configuration();

conf.set("hadoop.job.ugi","hadoop,supergroup");

String uri="hdfs://cloud-a:9000";

try{

FileSystem fs = FileSystem.get(URI.create(uri),conf);

FSDataInputStream in = fs.open(hdfsSource);

FileOutputStream fos = new FileOutputStream(targetPath);

int bytesRead;

byte[] buffer = new byte[4096];

while ((bytesRead = in.read(buffer)) > 0) {

fos.write(buffer, 0, bytesRead);

}

in.close();

fos.close();

//使用 copyToLocalFile 会丢出 Cannot run program "chmod"例外

//fs.copyToLocalFile(hdfsSource, new Path(targetPath));

} catch (Exception e) {

System.out.println(e.getMessage());

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/503434.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用纸筒做机器人_365天,每天都可以玩出新花样,卷纸筒就是这么牛的神器!

一旦有了娃,家里就会出现一大堆的玩具!随着孩子的长大,玩具也会越积越多,尤其是一些塑料玩具,恐龙,小动物,洋娃娃......你可以在房间的任一个角落,发现它们的踪影。而且,…

labelme 语义分割数据集_RangeNet++: 快速精确的雷达数据语义分割(IROS 2019)

本文主要介绍一篇关于雷达数据语义分割的文章。这篇文章将点云通spherical projection投到2D平面后,先通过高效的CNN网络得出segmentation结果,然后还原出点云的segmentation结果,最后用一个精巧的knn-search算法,对结果进行优化。…

安卓易剪多轨版_易剪多轨版安卓

易剪多轨版介绍易剪(多轨版) 是一款iOS平台的多轨音频编辑器,是国内*延续了PC平台的DAW精髓的移动平台的音频编辑器。如果您用过PC平台的Auditon,Cool Edit等类似软件,您轻松上手。易剪多轨版本延续了单轨编辑产品的高精度剪辑的特性&#xf…

dell主板40针开机针脚_技术活!戴尔主板的前置面板接口针脚的问题。

联想的老电脑主板烧了,朋友帮我找了块二手主板,是从DELL品牌机上拆下来的,其电源开关、Reset和前置USB前置音频的插座集成在一起,是DELL特有的34针插座。我找到了这个34针插座的针...联想的老电脑主板烧了,朋友帮我找了…

plc控制可调节阀流程图_PLC五大主流编程语言你会几种?

PLC的软件编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同于一般的汇编语言,且要满足易于编写和调试的要求。早期的PLC仅支持梯形图编程语言和指令表编程语言,现根据国际电工委员会制定了五种…

成功案例_APP成功推广案例

app软件的推广成本通常是多少目前国内App开发者正面临推广困境,推广的费用正在进一步提高,(一些推广形式的费用没有变化但是效果正在下降),效果好的推广形式价格一般较高,无疑将开发者推向高门槛的推广之路。一、预装渠道:(推广用户质量:中)虽然植入到rom中软件的存活时间会更长…

用C++写一个星空

大家好,这是我学完C后,完整的编写的一个程序之一,有兴趣的可尝试编写,画面(动态的)还可以。 本程序总结有两个版本,分别是对C中的继承、多态等一些方面的练习。 编写用的是VS2019,e…

解决方案_环网柜监测解决方案

户外环网柜环境条件各异,复杂。温度过高容易发生火灾,温度过低则会形成凝露从而发生短路等事故,温湿度超过一定阀值都会影响配电功能的正常运行,对环网柜的环境状态进行监测与调节十分重要。行业需求居民小区环网柜公共建筑环网柜…

数据结构与算法(基于C++语法实现)

顺序列表 Hello,各位小伙伴,大家好!这是发布星空以后的第二次写博客。本次我将跟大家分享关于学习数据结构与算法的一些知识,数据结构与算法的后续,也会陆陆续续的更新,帮助大家更好的理解。 好了&#xf…

python建筑案例_Python数据分析实战-链家北京二手房价分析

前言最近在自学Python,通过学习大家的分享案例,看到使用Python进行较多的主要4个方面:爬虫,数据处理,数据可视化以及机器学习建模。对我来说目标就是:熟练使用numpy pandas 进行数据清洗和预处理&#xff1…

C语言纯小白教学

大家好,很高兴来跟大家讲解C语言相关的知识,今天是大家一起学习C 语言的第一天,在接下来的几天我将向大家讲解完C语言的知识,坚持一下 很快就能迅速掌握C语言这一语言,废话不多说,开干。既然是第一天先给大…

execve系统调用_Linux系统编程——进程替换:exec 函数族

在 Windows 平台下,我们可以通过双击运行可执行程序,让这个可执行程序成为一个进程;而在 Linux 平台,我们可以通过 ./ 运行,让一个可执行程序成为一个进程。但是,如果我们本来就运行着一个程序(…

数据结构之链表--单链表

Hello,大家好!好久不见了,之前一直在忙于一些琐事,最近半个月内会将数据结构的各种数据结构实现出来,一个挺有意思的东西。 这次我将要介绍的是链表。链表有单链表,单向循环链表,双向链表&…

idea shell 使用linux_Linux使用shell定时任务实现ffmpeg视频转码和截图

Linux安装操作系统:CentOS7 ffmpeg版本:3.4.1安装先访问ffmpeg官网下载linux安装包 http://ffmpeg.org/download.html ,这里我下载的是官方已经编译过的版本,别问我为啥不自己编译,因为我自己编译耗费了好久&#xff0…

链表之单循环链表

单链表之单循环链表 单向循环链表的关键所在是最后一个节点的next存储了头节点的地址,这是对单向循环链表的操作关键所在 接下来我将实现增、删、改、查这四项最基本的操作,剩下你想要什么操作自己可以根据对链表的理解添加对应的数据操作 后面main函数…

曾辉机器人_武昌理工学子在2020年中国机器人大赛中夺冠

“它在过弯的时候非常稳,而且速度快,跑完一圈的时间比第二名少十秒左右。”武昌理工学院学生余辉激动地说。11月27日从武昌理工学院获悉,在刚刚结束的2020中国机器人大赛中,武昌理工学院人工智能学院“晨旭队”,经过激…

链表之双向链表

又是敲代码学习的一天,虽然学的很痛苦,但是看到自己学完后有成果出来还是 很高兴的。 接下来废话不多说直接上代码,代码里有各个函数的解释说明,贯穿着我对这个双向链表的理解 //感觉这个双向链表,就是在单向链表中稍…

react手机机端css_react工程搭建系列之---移动端适配与antd-mobile高清适配方案

一、逻辑像素(css像素)与物理像素(设备像素)机型逻辑像素物理像素Scale Factoriphone 3GS320 x 480320 x 4801xiphone 4320 x 480640 x 9602xiphone 4S320 x 480640 x 9602xiphone 5320 x 568640 x 11362xiphone 5C320 x 568640 x 11362xiphone 5S320 x 568640 x 11362xiphone …

升级bios_华硕400系主板升级BIOS:静待11代酷睿CPU

1月份对PC玩家来说还有很多惊喜,AMD、NVIDIA、Intel都会在CES上推出新一代产品,其中Intel针对桌面端的产品是11代酷睿,代号Rocket Lake-S。Rocket Lake仍将采用14nm制造工艺,基本确定也将是Intel最后一代14nm处理器。CPU架构方面&…

win10共享打印错误0x0000006_Win10连接共享打印机提示0x80070035错误的解决办法

关于Win10连接共享打印机提示0x80070035错误,概括起来主要有以下几个方面。下面直接上解决方法,请碰到这个错误的朋友自己按照下面的方法一一排查。因为主要就是每个人安装的系统不一样,现在系统封装工具太多了,流程也傻瓜化了&am…