博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python访问Hive配置 - jmydream的专栏 - 博客频道 - CSDN.NET
阅读量:6155 次
发布时间:2019-06-21

本文共 1712 字,大约阅读时间需要 5 分钟。

分类:
36人阅读
(0)

 

目录

 

hive有三种启动方式:

  1.  hive  命令行模式,直接输入/hive/bin/hive的执行程序,或者输入 hive –service cli  用于linux平台命令行查询,查询语句基本跟mysql查询语句类似
  2. hive  的启动方式,hive

    –service hwi  用于通过来访问hive。可以分离查询的执行,同时执行多个查询;不用本地安装hive

  3. hive  远程服务 (端口号10000) 启动方式,hive以thrift服务的服务器形式运行,允许不同的语言编写客户端进行访问,通过thrift,jdbc,odbc连接器和hive服务器与hive通信,这种方式很适合java、python编程人员通过jdbc接口去访问hive。

这里实现第三种方式,首先要安装thrift

 

Thrift是一个跨语言服务部署框架,最初由Facebook于2007年开发,后于2008年进入Apache孵化器(Apache Incubator)。类似于SOAP,COM 和CORBA,Thrift通过定义一个中间定义语言和Thrift代码生成工具,生成指定语言的代码。目前,Thrift
支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk和OCaml的代码生成。
在这里我们用的是thrift的另一个应用,不是生成指定语言的代码,而是通过
Thrift Gateway,利用Thrift序列化技术(支持C++,PHP,Python等多种语言)适合其他异构系统调用hive,在我们这用python客户端通过thrift
调用hive(将hive相关的python语句放与hive服务器)

thrift主页:,上面有详细的安装说明。

  1. 到thrift主页下载最新版本thrift.    
    直接解压
    tar zxvf  
  2. 出现错误:This does not look like a tar archive
    这是个BUG 

     解决办法: 

                   gzip -d xxxx.tar.gz (对于.tar.gz文件的处理方式)
                   tar -xf xxxx.tar    (对于.tar文件处理方式)
  3.  
    系统必备包和工具安装,按照   上所说,安装必备工具和包

     

    $:sudo apt-get install libboost-dev libboost-test-dev libboost-program-options-dev libevent-dev automake libtool flex bison pkg-config g++ libssl-dev 
    python必备包安装:
    $:python-dev python-twisted
  4. 安装thrift 
    直接运行
    $:./configure
    不用运行
    ./bootstrap.sh
    $:make & make install

thrift安装完毕。

 thrift的lib包加入python的lib下

 

运行

$: python  
>>>from hive_service import
 >>>ThritHiveImportError: cannot import name ThritHive
查看之后,才发现在执行了第(1)步后,python2.7/site-packages中并没有相应模块,这样当然是不可能通过编译的,所以到刚才解压后的根目录,将build/lib中的所有模块都拷贝到python2.7/site-packages中,如下:有两种方式:

  1. $:cd  .../thrift-0.8.0/lib/py/build/lib.linux-x86_64-2.7
    cp -r thrift/   /usr/lib/python2.7/site-packages/
  2. python插件方式

 

eclipse下python写hive程序设置

在菜单项windonw->preferences下

 

 

添加thrift for python 和 thrift for hive

oK

转载地址:http://vnffa.baihongyu.com/

你可能感兴趣的文章
java相关
查看>>
由一个异常开始思考springmvc参数解析
查看>>
向上扩展型SSD 将可满足向外扩展需求
查看>>
虚机不能启动的特例思考
查看>>
SQL Server编程系列(1):SMO介绍
查看>>
在VMware网络测试“专用VLAN”功能
查看>>
使用Formik轻松开发更高质量的React表单(三)<Formik />解析
查看>>
也问腾讯:你把用户放在什么位置?
查看>>
CSS Sprites 样式生成工具(bg2css)
查看>>
[转]如何重构代码--重构计划
查看>>
类中如何对list泛型做访问器??
查看>>
C++解析XML--使用CMarkup类解析XML
查看>>
P2P应用层组播
查看>>
Sharepoint学习笔记—修改SharePoint的Timeouts (Execution Timeout)
查看>>
CSS引入的方式有哪些? link和@import的区别?
查看>>
Redis 介绍2——常见基本类型
查看>>
asp.net开发mysql注意事项
查看>>
(转)Cortex-M3 (NXP LPC1788)之EEPROM存储器
查看>>
ubuntu set defult jdk
查看>>
[译]ECMAScript.next:TC39 2012年9月会议总结
查看>>