关于如何从hdfs上导大数据到本地

  1. 使用命令
    将hdfs上文件拷到本地:
    hadoop fs -get url localurl

    rm -rf url 删除文件及目录。
    du -sm * | sort -n 统计当前目录下的文件大小并排序
    hadoop fs -du url 显示hadoop 路径下的文件大小及路径

  2. 保护进程

    使用上边的hadoop fs -get url localurl 来拷贝大文件到本地的话很容易中途断掉。原因是:文件过大,拷贝时间过长,一旦shell客户端的网络状况不良则会拷贝中断。(..+ &)将当前任务提交给后台,让后台去执行。从而使这个任务在本地执行,不停止/重启hadoop则不会拷贝中断。
    解决方法:在命令末尾加 & 符号。
    eg:hadoop fs -get /xxx/bb /yyy/aa &

    其他思想
    关于这样用命令来拷贝文件其实是很慢的(特别是大文件时,问题更突出),一般1TB 的文件使用这样的命令拷贝完成时间一般为10小时左右。所以最好的处理这类的方法是对一个大文件进行多个线程的处理,使用编程来做到。这样就快多了。

    文件名长度影响拷贝
    一般在liunx系统中文件命不能超过255字符,长度超过则文件拷贝时报错:fileName is too long!从而拷贝中断。这个问题就要先查下文件中是否存在这样的过长文件名。

另:在拷贝过程中有些文件会报错,但只要程序还在继续运行就不用管这些错(我是因为没有找到原因和解决的方法,有谁知道请多指教,以后明白原因后再回来改过。)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值