python连接hive,怎么安装thrifthive

hive.server2.thrift.bind.host:TCP接口的绑定主机。hive.server2.authentication:身份验证方式。默认为NONE(使用 plain SASL),即不进行验证检查。可选项还有NOSASL, KERBEROS, LDAP, PAM and CUSTOM.hive.server2.enable.doAs:是否以模拟身份执行查询处理。默认为true。Python客户端连接HiveServer2 py...
python连接hive,怎么安装thrifthive
HiveServer2的启动
启动HiveServer2
HiveServer2的启动十分简便:
$ $HIVE_HOME/bin/hiveserver2
或者
$ $HIVE_HOME/bin/hive --service hiveserver2
默认情况下,HiverServer2的Thrift监听端口是10000,其WEB UI端口是10002。可通过http://localhost:10002来查看HiveServer2的Web UI界面,这里显示了Hive的一些基本信息。如果Web界面不能查看,则说明HiveServer2没有成功运行。
使用beeline测试客户端连接
HiveServer2成功运行后,我们可以使用Hive提供的客户端工具beeline连接HiveServer2。
$ $HIVE_HOME/bin/beeline
beeline > !connect jdbc:hive2://localhost:10000
如果成功登录将出现如下的命令提示符,此时可以编写HQL语句。
0: jdbc:hive2://localhost:10000>
报错:User: xxx is not allowed to impersonate anonymous
在beeline使用!connect连接HiveServer2时可能会出现如下错误信息:
Caused by: org.apache.hadoop.ipc.RemoteException:User: xxx is not allowed to impersonate anonymous
这里的xxx是我的操作系统用户名称。这个问题的解决方法是在hadoop的core-size.xml文件中添加xxx用户代理配置:
<property><name>hadoop.proxyuser.xxx.groups</name><value>*</value></property><property><name>hadoop.proxyuser.xxx.hosts</name><value>*</value></property>
重启HDFS后,再用beeline连接HiveServer2即可成功连接。
常用配置
HiveServer2的配置可以参考官方文档《Setting Up HiveServer2》
这里列举一些hive-site.xml的常用配置:
hive.server2.thrift.port:监听的TCP端口号。默认为10000。
hive.server2.thrift.bind.host:TCP接口的绑定主机。
hive.server2.authentication:身份验证方式。默认为NONE(使用 plain SASL),即不进行验证检查。可选项还有NOSASL, KERBEROS, LDAP, PAM and CUSTOM.
hive.server2.enable.doAs:是否以模拟身份执行查询处理。默认为true。
Python客户端连接HiveServer2
python中用于连接HiveServer2的客户端有3个:pyhs2,pyhive,impyla。官网的示例采用的是pyhs2,但pyhs2的官网已声明不再提供支持,建议使用impyla和pyhive。我们这里使用的是impyla。
impyla的安装
impyla必须的依赖包括:
six
bit_array
thriftpy(python2.x则是thrift)
为了支持Hive还需要以下两个包:
sasl
thrift_sasl
可在Python PI中下载impyla及其依赖包的源码。
impyla示例
以下是使用impyla连接HiveServer2的示例:
from impala.dbapi import connectconn = connect(host='127.0.0.1', port=10000, database='default', auth_mechanism='PLAIN')cur = conn.cursor()cur.execute('SHOW DATABASES')print(cur.fetchall())cur.execute('SHOW Tables')print(cur.fetchall())2017-11-06
mengvlog 阅读 34 次 更新于 2025-09-10 15:51:52 我来答关注问题0
  •  文暄生活科普 python中的hive代码小tips1-使用 PyHive 库连接 Hive 并执行 SQL 语句的基本操作

    使用 PyHive 在 Python 中创建一个以 TEXTFILE 格式存储的表。需要替换your_hive_host、your_username 和 your_table 为你实际值。表有三个列,分别为 column1、column2 和 column3,数据类型分别为 INT、STRING 和 FLOAT。ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 表示字段之间用逗号分隔,S...

  •  翡希信息咨询 使用Python读写Hive:简化大数据处理的利器

    一、连接Hive数据库 使用PyHive库:通过PyHive库,Python可以轻松建立与Hive数据库的连接。只需设置Hive服务器的地址、端口号、用户名、密码和数据库名等参数,即可创建连接。二、读取Hive表数据 执行查询语句:连接建立后,Python可以使用PyHive库的fetchall方法执行Hive查询语句,将结果返回为数据帧。转换...

  • hive.server2.thrift.bind.host:TCP接口的绑定主机。hive.server2.authentication:身份验证方式。默认为NONE(使用 plain SASL),即不进行验证检查。可选项还有NOSASL, KERBEROS, LDAP, PAM and CUSTOM.hive.server2.enable.doAs:是否以模拟身份执行查询处理。默认为true。Python客户端连接HiveServer2 py...

  • 查询结果每行数据以元组形式呈现,遵循SQL列顺序。其他API和属性包括:cursor.fetch_logs()获取Hive执行日志,cursor.rownumber属性记录读取数据条数,cursor.rowcount属性尚未实现,返回-1,cursor.description属性提供查询结果元数据,返回列数、列名和数据类型等信息。最后,cursor.cancel()和cursor.close()分...

  •  折柳成萌 windows下怎么用python连接hive数据库

    setting.py:都要配置下USER, PASSWORD, HOST MySQL插件 :MySQL-python version 1.2.1p2 or higher.ENGINE :django.db.backends.mysql NAME:你的数据库名字 PostgreSQL插件:postgresql_psycopg2 ENGINE :django.db.backends.postgresql_psycopg2 NAME:你的数据库名字 例如我的oracle配置:

檬味博客在线解答立即免费咨询

Python相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部