您的位置:首页 > 运维架构

hadoop学习笔记

2010-05-15 11:58 281 查看


hadoop执行map的时候, 因为少写了下面一行,导致老是不能执行。废了一上午。

#! /usr/bin/python



map和reduce的第一行都加上trip了,因为streaming的原因,某一行可能会产生多行的空白字符。



每个map至少要有一条输出,否则会“java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failedwith code 1 ” 



排序的方式是java的话:按字母的字典排序。如果类型是整形,则按数字大小排序,但是python的key如果是数字的话,如果不经过处理也是按照字典排序的。



Reduce指定几个个数,就会生成几个文件

¥经验证:

如果上传的是一个tar.gz,但是这个tar.gz解包后是一个文件夹,也就是说包含多个文件,那么hadoop内部仍然做了处理。把所有的文件依次处理。



如果两个名字相同的文件打包成不同的文件名(后缀为tar.gz),在普通的机器中会进行覆盖。但是在hadoop的streaming处理中,不会发生覆盖。

¥可以自动解压tar.gz.,不用config压缩的配置

$

1. Native Java API,最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBase表数据

2. HBase Shell,HBase的命令行工具,最简单的接口,适合HBase管理使用

3. Thrift Gateway,利用Thrift序列化技术,支持C++,PHP,Python等多种语言,适合其他异构系统在线访问HBase表数据

4. REST Gateway,支持REST 风格的Http API访问HBase, 解除了语言限制

5. Pig,可以使用Pig Latin流式编程语言来操作HBase中的数据,和Hive类似,本质最终也是编译成MapReduce Job来处理HBase表数据,适合做数据统计

6. Hive,当前Hive的Release版本尚没有加入对HBase的支持,但在下一个版本Hive
0.7.0中将会支持HBase,可以使用类似SQL语言来访问HBase

$

1. Native Java API,最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBase表数据

2. HBase Shell,HBase的命令行工具,最简单的接口,适合HBase管理使用

3. Thrift Gateway,利用Thrift序列化技术,支持C++,PHP,Python等多种语言,适合其他异构系统在线访问HBase表数据

4. REST Gateway,支持REST 风格的Http API访问HBase, 解除了语言限制

5. Pig,可以使用Pig Latin流式编程语言来操作HBase中的数据,和Hive类似,本质最终也是编译成MapReduce Job来处理HBase表数据,适合做数据统计

6. Hive,当前Hive的Release版本尚没有加入对HBase的支持,但在下一个版本Hive
0.7.0中将会支持HBase,可以使用类似SQL语言来访问HBase



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息