python访问Hive配置


分类:
hive


36人阅读
评论(0)
收藏
举报

目录(?)[+]

  1. hive有三种启动方式:

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

    hiveweb界面的启动方式,hive
    –service hwi 用于通过浏览器来访问hive。可以分离查询的执行,同时执行多个查询;不用本地安装hive
    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主页:http://thrift.apache.org/,上面有详细的安装说明。

    到thrift主页下载最新版本thrift.http://thrift.apache.org/download/thrift-0.8.0.tar.gz
    直接解压
    tar zxvfthrift-0.8.0.tar.gz出现错误:This does not look like a tar archive
    这是个BUG
    解决办法:
    gzip -d xxxx.tar.gz (对于.tar.gz文件的处理方式)
    tar -xf xxxx.tar(对于.tar文件处理方式)

    系统必备包和工具安装,按照http://thrift.apache.org/docs/install/ubuntu/上所说,安装必备工具和包

    $: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
    安装thrifthttp://thrift.apache.org/docs/BuildingFromSource/
    直接运行
    $:./configure
    不用运行
    ./bootstrap.sh
    $:make & make install

    thrift安装完毕。

    thrift的lib包加入python的lib下

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

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

    eclipse下python写hive程序设置

    在菜单项windonw->preferences下

    添加thrift for python 和 thrift for hive

    oK

    1. hive有三种启动方式:

      1. 这里实现第三种方式,首先要安装thrift
    2. thrift的lib包加入python的lib下
    3. eclipse下python写hive程序设置

hive有三种启动方式:

  1. hive命令行模式,直接输入/hive/bin/hive的执行程序,或者输入 hive –service cli 用于linux平台命令行查询,查询语句基本跟mysql查询语句类似
  2. hiveweb界面的启动方式,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主页:http://thrift.apache.org/,上面有详细的安装说明。

  1. 到thrift主页下载最新版本thrift.http://thrift.apache.org/download/thrift-0.8.0.tar.gz

    直接解压

    tar zxvfthrift-0.8.0.tar.gz

  2. 出现错误:This does not look like a tar archive

    这是个BUG

    解决办法:

    gzip -d xxxx.tar.gz (对于.tar.gz文件的处理方式)

    tar -xf xxxx.tar(对于.tar文件处理方式)

  3. 系统必备包和工具安装,按照http://thrift.apache.org/docs/install/ubuntu/上所说,安装必备工具和包
    $: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. 安装thrifthttp://thrift.apache.org/docs/BuildingFromSource/

    直接运行
    $:./configure
    不用运行
    ./bootstrap.sh 
    $:make & make install

thrift安装完毕。

thrift的lib包加入python的lib下

运行

$: python

>>>fromhive_serviceimport

>>>ThritHiveImportError:cannotimportnameThritHive

查看之后,才发现在执行了第(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插件方式

    python访问Hive配置  jmydream的专栏  博客频道  CSDN.NET

eclipse下python写hive程序设置

在菜单项windonw->preferences下

python访问Hive配置  jmydream的专栏  博客频道  CSDN.NET

python访问Hive配置  jmydream的专栏  博客频道  CSDN.NET

添加thrift for python 和 thrift for hive

oK

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。