大数据是目前最热门的话题,虽然不少厂商宣称推出了大数据的产品,但在实际应用中,hadoop已经成为大数据处理的事实标准,Facebook、百度、阿里等互联网企业无一不采用Hadoop。即便是商业数据库公司,如IBM、Oracle、SAP、Teradata、甚至Microsoft等都采用了Hadoop。国产数据库厂商的人大金仓在大数据方解决案中也整合了Hadoop产品。
Hadoop之所以这么受欢迎,源于其良好的系统架构,使其能够以很低的成本、高效率、可靠的存储和处理千兆字节(PB)数据。Hive是构建在Hadoop的数据仓库平台,用于存储和处理海量结构化数据。它把海量数据存储于Hadoop文件系统,而不是数据库,但提供了一套类数据库的数据存储和处理机制,并采用 HQL (类 SQL )语言对这些数据进行自动化管理和处理。我们可以把 Hive中海量结构化数据看成一个个的表,而实际上这些数据是分布式存储在 HDFS 中的。Hive 经过对语句进行解析和转换,最终生成一系列基于Hadoop的map/reduce 任务,通过执行这些任务完成数据处理。
传统上商业智能BI平台或报表平台是基于关系数据库搭建的,即便数据仓库使用了Hadoop,也是将Hadoop作为计算工具,将计算结果写入 Oracle、DB2等数据库中,供BI软件查询。事实上,随着Hadoop/Hive产业链的成熟,BI工具可以通过JDBC等方式,直接连接Hive 查询数据。这样,除了专业的IT工程师,众多普通用户也能体验到Hadoop的魅力。
Smartbi作为国内领先的BI平台,能够很好的支持Hadoop/Hive产品。Smartbi结合Hadoop/Hive在电信行业中已经取得了成功的应用案例。
下面介绍如何使用Smartbi连接Hadoop/Hive查询数据。
1.首先安装好系统环境,示例为Ubuntu 12.04/JDK7/Hadoop-1.2.1/Hive-0.11.0,并装载数据。然后启动Hive服务。
2.将下列Hive JDBC驱动等文件拷贝到Smartbi的Lib目录下(.\smartbi\WEB-INF\lib)。
3.启动Smartbi,在系统管理中建立Hadopp的JDBC连接,驱动程序类为:org.apache.hadoop.hive.jdbc.HiveDriver,连接串为jdbc:hive://ip:port/default。测试连接通过后保存。
4.在Smartbi数据集定义功能中编写Hive SQL语句。
5.点击“预览”按钮,查看查询结果。
6.在Smartbi中展现Hive的报表。