本文讲解php通过sql查询hadoop中的数据。主要使用的技术是:php通过thrift向hive提交sql查询,hive将sql查询转换成hadoop任务,等到hadoop执行完毕后,返回一个结果uri,然后我们只需要读取这个uri中的内容。
Thrift的诞生是为了解决不同语言之间的访问的问题,可以支持多种程序语言,如c++、php、java、python等。Thrift是由facebook开发的轻量级跨语言的服务框架,现在已经移交到apache基金会下。和它类似的有google出的protocol buffer和ice。Thrift的一大优势是支持的语言很丰富,它使用自己的IDL语言来服务接口和数据交换的格式。
Hive是可以使用类似sql的语言访问HBase。而HBase是一个开源的nosql产品,它实现了google bigtable论文的一个开源产品,和hadoop、hdfs一起,可以用来存储和处理海量column family数据。
Thrift的官方网址:http://thrift.apache.org/
一.服务器端下载安装thrift
在hadoop和hbase都已经安装好的集群上安装thrift。
(1)下载:wget http://mirror.bjtu.edu.cn/apache//thrift/0.8.0/thrift-0.8.0.tar.gz,下载thrift客户端源码包。
(2)解压:tar -xzf thrift-0.8.0.tar.gz
(3)编译安装:如果是源码编译的,首先需要执行.