hadoop和hive的实践应用(三)——hive的基本应用
2011-05-26 11:37
323 查看
前面我已经搭好了hadoop和hive环境,并且在hive中创建了表page,将数据load了进去。现在我想从这个表中统计每个url的流量,并放到其他关系中数据库中或者展现在页面上,怎么办?
去官网是看一下,不难发现可以用java ,python,php都可以实现,下面就用python 简单的写了写
from hive_service import ThriftHive
from hive_service.ttypes import HiveServerException
from thrift import Thrift
from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol
urlcount={}
def getFlowbyHive():
try:
transport = TSocket.TSocket('219.*.*.200',10000)
transport = TTransport.TBufferedTransport(transport)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = ThriftHive.Client(protocol)
transport.open()
client.execute("select URL, count(*) from page GROUP BY URL")
while (1):
row = client.fetchOne()
sp = row.split('/t')
if (len(sp)<2):
continue
if (row == None):
break
urlcount[sp[0]]=sp[1]
print sp[0],sp[1]
transport.close()
except Thrift.TException, tx:
print '%s' % (tx.message)
需要在219.*.*.200服务器上启动hive服务,用于python,java等程序连接hive,bin/hive --service hiveserver 10001不跟端口号默认10000支持nohup后台启动执行程序,完了urlcount中现在应经存上了url:count的键值对,入库或展现由你来处理了。
HWI是Hive Web Interface的简称,是hive cli的一个web替换方案。0.7默认是自带hwi的,conf/hive-default.xml文件都是默认值,在后台启动hwi服务
nohup bin/hive --service hwi > /dev/null 2> /dev/null &
浏览器中输入:http://10.20.151.7:9999/hwi/ 就可以访问,可以查看数据仓库,执行语句了
去官网是看一下,不难发现可以用java ,python,php都可以实现,下面就用python 简单的写了写
from hive_service import ThriftHive
from hive_service.ttypes import HiveServerException
from thrift import Thrift
from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol
urlcount={}
def getFlowbyHive():
try:
transport = TSocket.TSocket('219.*.*.200',10000)
transport = TTransport.TBufferedTransport(transport)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = ThriftHive.Client(protocol)
transport.open()
client.execute("select URL, count(*) from page GROUP BY URL")
while (1):
row = client.fetchOne()
sp = row.split('/t')
if (len(sp)<2):
continue
if (row == None):
break
urlcount[sp[0]]=sp[1]
print sp[0],sp[1]
transport.close()
except Thrift.TException, tx:
print '%s' % (tx.message)
需要在219.*.*.200服务器上启动hive服务,用于python,java等程序连接hive,bin/hive --service hiveserver 10001不跟端口号默认10000支持nohup后台启动执行程序,完了urlcount中现在应经存上了url:count的键值对,入库或展现由你来处理了。
HWI是Hive Web Interface的简称,是hive cli的一个web替换方案。0.7默认是自带hwi的,conf/hive-default.xml文件都是默认值,在后台启动hwi服务
nohup bin/hive --service hwi > /dev/null 2> /dev/null &
浏览器中输入:http://10.20.151.7:9999/hwi/ 就可以访问,可以查看数据仓库,执行语句了
相关文章推荐
- hadoop和hive的实践应用(二)——基于Hadoop的数据仓库工具hive搭建
- hadoop和hive的实践应用(一)——hadoop分布式平台搭建
- 欢迎报名参加CSDN云计算俱乐部上海“hadoop技术开发与应用实践分享会”
- Hadoop 应用实践
- Hadoop基本流程与应用开发
- Hadoop数据仓库hive的应用
- 大数据Spark “蘑菇云”行动第102课:Hive性能调优之底层Hadoop引擎调优剖析和最佳实践
- Hive简介、什么是Hive、为什么使用Hive、Hive的特点、Hive架构图、Hive基本组成、Hive与Hadoop的关系、Hive与传统数据库对比、Hive数据存储(来自学习资料)
- Hadoop hive sqoop zookeeper hbase生产环境日志统计应用案例(故障篇)
- Hadoop平台上用Sqoop在Hive和DB2数据库之间传输数据的实践和总结
- hadoop常用的基本命令,HIVE复制文件,修改文件名
- [Hadoop in China 2011] 中兴:NoSQL应用现状及电信业务实践
- hive与hadoop、spark集成方案实践
- 【Hadoop系列第九章】(一)理论:HBase应用场景、原理与基本架构
- 【Hadoop系列第六章】HBase应用场景、原理与基本架构
- 云框架Hadoop之Hive基本操作
- Hadoop之Hive架构详解及应用
- hive(01)、基于hadoop集群的数据仓库Hive搭建实践
- Flume+Hadoop+Hive的离线分析系统基本架构
- 【Hadoop系列第九章】(二)实践:HBase部署及应用