¥
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处理中,不会发生覆盖。
$
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
¥