- 博客(7)
- 资源 (11)
- 收藏
- 关注
原创 Hive基本使用
4、查看表文件 HDFS载入的时候,实际做的是文件移动 hive (dcenter)> dfs -ls /hive/warehouse/dcenter.db/t; Found 1 items -rw-r--r-- 2 hc supergroup 317777760 2013-12-26 11:28 /hive/warehouse/dcenter.db/t/a.txt
2013-12-26 11:54:32 3223
原创 Hadoop MapReduce之Join示例
Hadoop MapReduce之Join示例 关于MR中的数据连接是在数据处理中经常遇到的问题,可以用一些上层框架来实现此功能,比如Hive、Pig等,这里用MR实现主要是为了理解连接的思路,MR中的连接可以在Reduce端做,也可以在Map端做,本例在Reduce端做,想了解更多连接的内容可以参考>5.2章节,需要连接的表数据如下 用户订单表: UserID OrderID
2013-12-10 11:20:31 1770
原创 Hadoop JobTracker之ExpireLaunchingTasks
ExpireLaunchingTasks为JobTracker的后台线程,该线程记录了task的启动时间,每当TaskTracker发送心跳时,JobTracker会分配合适的任务给TaskTracker,并且将TaskAttemptID和启动时间以键值对的形式记录到launchingTasks集合中,待下次心跳如果JT得知该任务启动成功,则会从launchingTasks集合中删除,否则记录失败
2013-12-07 15:45:18 970
原创 Hadoop MapReduce之ReduceTask任务执行(六)
前面我们分别讨论了reduce的三个阶段,copy、sort、reduce,都是分开解析的,其实这些功能都包含在一个函数中,而且阶段分明,通过下面的分析,会对reduce流程理解会更清晰。下面函数的入口是Child.main -> taskFinal.run(job, umbilical) public void run(JobConf job, final TaskUmbilicalProto
2013-12-05 15:46:17 1001
原创 Hadoop MapReduce之ReduceTask任务执行(五)
本节分析ReduceTask的最后一个阶段:reduce,经历了copy、sort后,reduce的输入数据就准备好了,reduce数据输入由Reducer.Context提供,该Context封装了sort阶段的迭代器,可以对内存和磁盘的KV进行迭代,这部分需要注意两个大的循环:1、对KEY的循环由Reducer类实现,具体参考run函数 2、在自定义的reduce函数中对VALUE的循环。在自
2013-12-05 15:30:43 1980
原创 Hadoop MapReduce之ReduceTask任务执行(四)
上一篇讲了reduce如何把map输出下载到本地的过程,这个过程中包含了文件合并操作,本文主要讲reduce的下一个阶段:排序。reduce端的合并单位是Segment,在对Segment合并的过程中就已经实现排序了,大家如果对Oracle比较熟悉的话,这种合并排序的方式就容易理解了,对于两个排序好的数组,每次取其中的最小值,那么结果就是一个大的有序数组,这就是merge的基本原理,当然在Hado
2013-12-04 14:29:20 1166
原创 Hadoop MapReduce之ReduceTask任务执行(三)
在reduce端的文件拷贝阶段,会将数据放入内存或直接放入磁盘中,如果文件全部拷贝完再进行合并那样必然降低作业效率,所以在拷贝进行到一定阶段,数据的合并就开始了,负责该工作的有两个线程:InMemFSMergeThread和LocalFSMerger,分别针对内存和磁盘Segment的合并。 首先看内存合并线程InMemFSMergeThread的run函数 public void run
2013-12-02 14:23:49 1327
winutils.exe
2014-03-15
hadoop Join代码(map join 和reduce join)
2013-12-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人