转载自:《Hadoop MapReduce 二次排序原理及应用》
关于二次排序主要涉及到这么几个东西:
在0.20.0以前使用的是
- setPartitionerClass
- setOutputkeyComparatorClass
- setOutputValueGroupingComparator
在0.20.0以后使用是
- job.setPartitionerClass(Partitioner p);
- job.setSortComparatorClass([......]
转载自:《Hadoop MapReduce 二次排序原理及应用》
关于二次排序主要涉及到这么几个东西:
在0.20.0以前使用的是
在0.20.0以后使用是
转载自:《svn add后的数据如何取消-svn revert??》
有时候你发现svn add后,这个提交的数据又不需要了。这时候需要有svn revert来处理了。
比如
A testcase/perday.php
如何取消呢?
svn revert testcase/perday.php
会出现下面的提示:
已恢复“testcase/perday.php”
说明脚本已经恢复了到原来的状态,不受SVN 版本控制了。
如何恢复整个目录??有[......]
hadoop提供了一个设置map个数的参数mapred.map.tasks,我们可以通过这个参数来控制map的个数。但是通过这种方式设置map的个数,并不是每次都有效的。原因是mapred.map.tasks只是一个hadoop的参考数值,最终map的个数,还取决于其他的因素。
为了方便介绍,先来看几个名词:
block_size : hdfs的文件块大小,默认为64M,可以通过参数dfs.block.size设置
total_size[......]
Hive 0.12后,支持了窗口函数、分析函数 (具体见官方wiki)
窗口函数应用场景:
(1)用于分区排序
(2)动态Group By
(3)Top N
(4)累计计算
(5)层次查询
一、分析函数
用于等级、百分点、n分片等。
函数 说明
RANK() 返回数据项在分组中的排名,排名相等会在名次中留下空位
DENSE_RANK() 返回数据项在分组中的排名,排名相等会在名次中不会留下空位
NTILE([......]
mysqldump,默认是导出整个库的,我们可以让它导出库的某些表:
mysqldump -h mysql_host -P port -u user -p database_name table_1 table_2 table_3 --default-character-set=utf8 --lock-tables=false
上面还附加了2个选项:默认编码utf8、跳过锁表操作(可能会带来数据不一致,但不要求锁表权限)。
如果只希望导入数据,不删除、添加表,还需要附加: