namenode 内部关键数据结构简介
一骑绝尘引发的思考–关于hive程序员是否需要学习mapreduce
Hive源码解析—之—Hive的入口:
Hive源码解析—之—hive的入口:
SQL是OO的吗?
如何获取hive建表语句
在使用hive进行开发时,我们往往需要获得一个已存在hive表的建表语句(DDL),然而hive本身并没有提供这样一个工具。
使用MRUnit实现MapReduce程序的单元测试
Hadoop的MapReduce程序的测试,一直比较麻烦。因为不方便抽取出来,作为独立的Junit测试。所以很多时候,我们都是写一个Main函数,然后在里面手工调用Map或者Reduce,用System.out.println打印出结果,人眼测试,而且还要判断OutputCollector是否为空,不然直接Main调用还会抛NullPointerException。 这样最大的弊端,是无法实现自动化的断言判断,达到测试驱动和检查的目的。那么对程序的任何改动,都需要放到Hadoop集群上,跑个十几分钟才能肯定到底对不对。我们需要一个更快的方法,能够方便的自动化的对MR程序进行测试,从而达到测试驱动和敏捷开发的状态。 What’s MRUnit:
写好Hive 程序的五个提示
使用Hive可以高效而又快速地编写复杂的MapReduce查询逻辑。但是某些情况下,因为不熟悉数据特性,或没有遵循Hive的优化约定,Hive计算任务会变得非常低效,甚至无法得到结果。一个”好”的Hive程序仍然需要对Hive运行机制有深入的了解。 有一些大家比较熟悉的优化约定包括:Join中需要将大表写在靠右的位置;尽量使用UDF而不是transfrom……诸如此类。下面讨论5个性能和逻辑相关的问题,帮助你写出更好的Hive程序。
Hive 随谈(六)– Hive 的扩展特性
Hive 是一个很开放的系统,很多内容都支持用户定制,包括: 文件格式:Text File,Sequence File 内存中的数据格式: Java Integer/String, Hadoop IntWritable/Text 用户提供的 map/reduce 脚本:不管什么语言,利用 stdin/stdout 传输数据 用户自定义函数: Substr, Trim, 1 – 1 用户自定义聚合函数: Sum, Average…… n – 1 File Format TextFile SequenceFIle RCFFile Data type Text Only Text/Binary Text/Binary Internal Storage Order Row-based Row-based Column-based Compression File Based Block Based Block Based Splitable YES YES YES
Hive 随谈(五)– Hive 优化
Hive 针对不同的查询进行了优化,优化可以通过配置进行控制,本文将介绍部分优化的策略以及优化控制选项。
Hive 随谈(四)– Hive QL
Hive 的官方文档中对查询语言有了很详细的描述,请参考:http://wiki.apache.org/hadoop/Hive/LanguageManual ,本文的内容大部分翻译自该页面,期间加入了一些在使用过程中需要注意到的事项。

近期评论