Inceptor是企业版的Hive。Hive是一个构建在Hadoop上的数据仓库框架,它的专长是对大量数据的总结、分析和即时(ad hoc)查询。Hive使用HiveQL作为查询语言,HiveQL作为SQL的一种“方言”,和SQL有很多相似之处,方便了广大熟悉SQL的程序员。同时,HiveQL允许传统的map/reduce程序员通过插入自定义的mapper和reducer来进行HiveQL内置功能不支持的复杂数据分析。Hadoop是一个批处理(batch processing)系统,它的作业往往有很长的延时,在提交和安排作业时也会耗时很长。所以和传统数据库相比,它在对少量(几百MB数量级)数据的处理上没有优势,但是Hive的分析使用更多迭代,迭代间耗时不长。所以我们强调,Hive的专长是对大量不可变数据的批处理。
Inceptor作为商业版的Hive,处理数据的速度远远高于Hive。Inceptor和Hive一样,使用HiveQL作为数据库查询语言。但是Inceptor在HiveQL的语法库上进行了扩展,提供了更多SQL函数。
本章我们介绍Inceptor的使用方法。我们从Inceptor提供的数据类型着手,然后详细地解释HiveQL中的数据定义语言(Data Definition Language)和数据操作语言(Data Manipulation Language)。