Hadoop IO & HDFS manipulation 简介
来源:互联网 发布:ipad看tvb软件 编辑:程序博客网 时间:2024/06/13 01:30
HDFS的默认目录在 /user/username
HDFS的开放端口在core-site.xml这个配置文件中指定, 一般为9000或8020
当你执行命令时不指定目录时, 一般命令都会在这个目录下执行
所以在HDFS里没有 cd 和 pwd 这样的命令.
hadoop fs -copyFromLocalhadoop fs -copyToLocalhadoop fs -mkdirhadoop fs -ls
Hadoop Filesystems 有多种虚拟的文件系统, HDFS只是其中之一
hadoop fs -ls file:///hadoop fs -ls hdfs:///
第一条命令会显示node所在服务器的本地文件信息
第二条命令则显示分布式文件系统的信息
对于HDFS的一些复杂操作可以自己来写java然后打包成jar文件, 通过命令行来执行
为了方便期间, 可以先定义好HADOOP_CLASSPATH这个环境变量:
export HADOOP_CLASSPATH=/usr/local/hadoop-2.7.0/share/myjar/*注意最后一定要指定好jar的名字或者通配符*
然后我们只要把编写好的jar文件放到这个目录里去就能够用bin目录下的hadoop来执行了
比如:
./hadoop URLCat hdfs:localhost:9000/user/root/input/sample.txtURLCat类的代码如下
// cc URLCat Displays files from a Hadoop filesystem on standard output using a URLStreamHandlerimport java.io.InputStream;import java.net.URL;import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;import org.apache.hadoop.io.IOUtils;// vv URLCatpublic class URLCat { static { URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory()); } public static void main(String[] args) throws Exception { InputStream in = null; try { in = new URL(args[0]).openStream(); IOUtils.copyBytes(in, System.out, 4096, false); } finally { IOUtils.closeStream(in); } }}// ^^ URLCat
HDFS存在一个Coherency Model, 在文件从client写入datanode的时候, 有三个函数对应三种情况:
flush: 写入的数据不一定可见
hflush: 写入的数据可见, 但是可能只是写入了datanode的内存中 (close默认调用hflush)
sync: 写入的数据可见, 而且是写到了磁盘中去.
这其中有个trade-off, sync能确保数据写入磁盘, 但会阻塞程序较久, flush不会阻塞, 但数据可能还没有准备好被读取.
hadoop还有一个并行文件传输命令:
hadoop distcp dir1 dir2可以直接对拷目录.
hadoop fs -checksum filename #获取文件CRC
阅读全文
0 0
- Hadoop IO & HDFS manipulation 简介
- HADOOP--HDFS简介
- hadoop-hdfs简介(一)
- hadoop-hdfs简介(二)
- hadoop-hdfs简介(三)
- Hadoop学习笔记---HDFS简介
- Hadoop系列一HDFS简介
- [置顶] Hadoop HDFS简介学习
- Hadoop 系列之一:HDFS简介
- Hadoop 学习总结之一:HDFS简介
- Hadoop 学习总结之一:HDFS简介
- Hadoop 学习总结之一:HDFS简介
- Hadoop 学习总结之一:HDFS简介
- Hadoop 学习总结之一:HDFS简介
- Hadoop 学习总结之一:HDFS简介
- Hadoop 学习总结之一:HDFS简介
- Hadoop 学习总结之一:HDFS简介
- Hadoop自学笔记(二)HDFS简介
- java中的double和float数据精度
- 大数据时代的水利遥感应用创新论坛即将于11月震撼来袭!
- C#位运算符
- 【设计模式】(4)--最常用设计模式之工厂模式
- Android使用WindowManager实现悬浮窗
- Hadoop IO & HDFS manipulation 简介
- VUE开始到发布流程
- 二叉树
- 1060 爱丁顿数(25)
- TCP_proxy tcp代理详解
- Java开发Spring总结
- 从CNN视角看在自然语言处理上的应用
- 资本成本优势介绍
- 80211学习笔记