在IDEA上用python来连接集群上的hive

1.在使用Python连接hive之前需要将hive中的文件拷贝到自己创建python项目中

cp -r apache-hive-0.14.0-bin/lib/py  /home/jia/Desktop

2.把hive上的py目录下载到桌面之后,进入py目录,复制里面所有的文件到你创建的python项目下

3.新建一个myHiveLink.py文件,访问hive的代码如下

import sys
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

def hiveExe(sql):
    try:
        transport = TSocket.TSocket(‘121.8.xxx.xx‘, 10000)
        transport = TTransport.TBufferedTransport(transport)
        protocol = TBinaryProtocol.TBinaryProtocol(transport)
        client = ThriftHive.Client(protocol)
        transport.open()

        client.execute(sql)

        print "The return value is : "
        resultSets=client.fetchAll()
        for j in range(len(resultSets)):
            print resultSets[j]
        print "............"
        transport.close()
    except Thrift.TException, tx:
        print ‘%s‘ % (tx.message)

        return resultSets

if __name__ == ‘__main__‘:
    hiveExe("select * from tableName limit 10")

4.访问结果如下:

/usr/bin/python2.7 /home/sendi/IdeaProjects/hive_python/.idea/HiveLink/myHiveLink.py
The return value is :
460030087488272    1333280xxxx    2433    16881    20150608005859    20150608005859    NULL    113.4092361    23.1117361    20150608
460037560630758    1812682xxxx    2817    5920    20150608005850    20150608005858    16    113.39436    23.42839    20150608
460030991691721    1532152xxxx    2817    31314    20150608005851    20150608005858    16    113.34354    23.28444    20150608
460036360705126    1537219xxxx   2817    22386    20150608005851    20150608005858    16    113.3470139    23.2713194    20150608
460036360703708    1532570xxxx   2817    3617    20150608005853    20150608005858    16    113.3468056    23.3133333    20150608
460036810304576    1533673xxxx   2817    322    20150608005851    20150608005858    16    113.359375    23.2908333    20150608
460036110265159    1530011xxxx   2817    3409    20150608005854    20150608005858    16    113.3260417    23.2946528    20150608
460030991632527    1532152xxxx    2817    22384    20150608005854    20150608005858    16    113.3470139    23.2713194    20150608
460036671118650    1895716xxxx    2817    31360    20150608005853    20150608005858    16    113.35415    23.30307    20150608
460036360702214    1534570xxxx   2817    22386    20150608005851    20150608005858    16    113.3470139    23.2713194    20150608

5.如果访问不了,可能是没有启动hive,服务,则进入hive的bin目录启动服务

hive --service hiveserver &
时间: 2024-08-29 18:13:20

在IDEA上用python来连接集群上的hive的相关文章

用python + hadoop streaming 编写分布式程序(二) -- 在集群上运行与监控

写在前面 前文:用python + hadoop streaming 编写分布式程序(一) -- 原理介绍,样例程序与本地调试 为了方便,这篇文章里的例子均为伪分布式运行,一般来说只要集群配置得当,在伪分布式下能够运行的程序,在真实集群上也不会有什么问题. 为了更好地模拟集群环境,我们可以在mapred-site.xml中增设reducer和mapper的最大数目(默认为2,实际可用数目大约是CPU核数-1). 假设你为Hadoop安装路径添加的环境变量叫$HADOOP_HOME(如果是$HAD

(7)在集群上运行Spark

7.2 Spark运行时架构 Spark集群采用的是主/从结构.在一个Spark集群中,有一个节点负责中央协调,调度各个分布式工作节点.这个中央协调节点被称为驱动器节点,与之对应的工作节点被称为执行器节点.驱动器节点可以和大量的执行器节点进行通信,他们也都作为独立的Java程序运行. 7.2.1 驱动器节点 Spark驱动器节点是执行你的程序中main方法的进程.其实,当你启动Spark Shell时,你就启动了一个Spark驱动器程序,驱动器程序一旦终止,Spark应用也就结束了.驱动器程序在

python脚本实现集群检测和管理

python脚本实现集群检测和管理 场景是这样的:一个生产机房,会有很多的测试机器和生产机器(也就是30台左右吧),由于管理较为混乱导致了哪台机器有人用.哪台机器没人用都不清楚,从而产生了一个想法--利用一台机器来管理所有的机器,记录设备责任人.设备使用状态等等信息....那么,为什么选择python,python足够简单并且拥有丰富的第三方库的支持. 最初的想法 由于刚参加工作不久,对这些东西也都没有接触过,轮岗到某个部门需要做出点东西来(项目是什么还没情况,就要做出东西来,没办法硬着头皮想点

在Hadoop集群上运行R程序--安装RHadoop

RHadoop是由Revolution Analytics发起的一个开源项目,它可以将统计语言R与Hadoop结合起来.目前该项目包括三个R packages,分别为支持用R来编写MapReduce应用的rmr.用于R语言访问HDFS的rhdfs以及用于R语言访问HBASE的rhbase.下载网址为https://github.com/RevolutionAnalytics/RHadoop/wiki/Downloads. 说明:下面的记录是在安装成功后的总结,中间的过程描述及解决方法可能并不精确

Linux上搭建Hadoop2.6.3集群以及WIN7通过Eclipse开发MapReduce的demo

近期为了分析国内航空旅游业常见安全漏洞,想到了用大数据来分析,其实数据也不大,只是生产项目没有使用Hadoop,因此这里实际使用一次. 先看一下通过hadoop分析后的结果吧,最终通过hadoop分析国内典型航空旅游业厂商的常见安全漏洞个数的比例效果如下: 第一次正式使用Hadoop,肯定会遇到非常多的问题,参考了很多网络上的文章,我把自己从0搭建到使用的过程记录下来,方便以后自己或其他人参考. 之前简单用过storm,适合实时数据的处理.hadoop更偏向静态数据的处理,网上很多hadoop的

将java开发的wordcount程序部署到spark集群上运行

1 package cn.spark.study.core; 2 3 import java.util.Arrays; 4 5 import org.apache.spark.SparkConf; 6 import org.apache.spark.api.java.JavaPairRDD; 7 import org.apache.spark.api.java.JavaRDD; 8 import org.apache.spark.api.java.JavaSparkContext; 9 impo

在Linux上使用Nginx为Solr集群做负载均衡

在Linux上使用Nginx为Solr集群做负载均衡 在Linux上搭建solr集群时需要用到负载均衡,但测试环境下没有F5 Big-IP负载均衡交换机可以用,于是先后试了weblogic的proxyserver,和Apache,效果均很差,两台服务器做了负载均衡之后并发响应速度还没单台不做负载均衡的速度快.最后使用nginx,效果很不错,下面将在Linux上安装步骤记述一下. 1        安装准备 nginx软件版本:nginx 1.2.5 安装包:rhel_nginx-1.2.5-1.

通过eclipse方法来操作Hadoop集群上cassandra数据库(包括创建Keyspace对象以及往数据库写入数据)

(1)下载cassandra,我所用版本为apache-cassandra-2.0.13-bin.tar.gz(hadoop版本为1.0.1),将其上传到hadoop集群,然后解压,tar -xzf apache-cassandra-2.0.13-bin.tar.gz; 并改名为 cassandra,放在目录/usr/下面,然后修改几个文件: vim cassandra.yaml  按照下面的字段修改 data_file_directories: - /usr/cassandra/data # 

34. Python Memcached 安装 集群

1.Memcache 安装 安装过程略,查询官网有安装方法. 官方网站下载地址:http://memcached.org/downloads memcache简介 Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. 它通过在内存中缓存数据和对象减少读取数据库的次数,从而提高动态.数据库驱动网站的速度. Memcached基于一个存储键/值的hashmap. 其守护进程(daemon)是用C语言写的,但是客户端可以用任何语言来编写,并通过memcached