美文网首页
python操作数据库之Hive

python操作数据库之Hive

作者: 雪飘千里 | 来源:发表于2019-12-30 09:52 被阅读0次

集群环境:CDH5.8
python3版本:3.6.8
pip3版本:18.1

# 导包
from pyhive import hive
import pandas as pd
from pandas.tseries.offsets import *
import math

# 打开数据库连接
conn = hive.Connection(host='x.x.x.x', port=10000, username='admin',database='hello_world')
# 使用cursor()方法获取操作游标 
cursor = conn.cursor()
# sql语句
sql = "select date,product_id,number_sum from hello_world.product where date >='{}' ".format(day_before_30_str)

# 执行sql
cursor.execute(sql)

# 查询结果转换为DataFrame
columns = [col[0] for col in cursor.description]
result = [dict(zip(columns, row)) for row in cursor.fetchall()]
data = pd.DataFrame(result)

备注:

  • 1、host为hiveService2所在的节点ip;port默认为10000,可以到集群中hive上查看hiveService2配置;username为集群登录的用户名,因为我这里是集群内网访问hive,所以密码权限暂时没配;
  • 2、sql中参数问题,在网上找的资料大部分都是demo级别,连参数都没有,试过几种方法都不行,偶然间找到这种使用format的方式,但是这种有sql注入的风险;后续如果找到新的方法,再继续更新
  • 3、代码中用到的包只有pyhive,但是连接hive还需要用到sasl、thrift、thrift-sasl这三个包,
  # python版本是3.6.8,pip3 的版本是18.1
  pip3 install sasl thrift_sasl thrift pyhive pandas pymysql

如果安装sasl如果失败了,报gcc错误,如下图,则yum更新gcc,然后再安装

image.png
#安装sasl如果失败了,报gcc错误,则yum更新gcc
yum install gcc-c++ python-devel.x86_64 cyrus-sasl-devel.x86_64

如果更新后还是安装失败,解决办法见pip3安装和卸载以及常用命令中4.1 安装sasl包失败处理

相关文章

  • 使用python操作hive

    使用python操作hive python版本为2.7.5(redhat系统自带) hive版本为1.1.0 连接...

  • Hive DDL

    Hive 库操作 创建数据库 删除数据库 修改数据库信息 数据库信息 Hive 表操作 内部表又称管理表。 Hiv...

  • Python基础(十一)数据库编程

    1. 操作数据库的基本流程 2. Python操作数据库之sqlalchemy 详细操作可见以下链接Python操...

  • 记录一次 hadoop+tornado 简单实践(二) -- h

    hive 数据库操作 hive 支持大部分的 sql 语法,因此熟悉 sql 可以很方便的上手 hive 操作 h...

  • Hive学习笔记(HQL语言)

    1 Hive对数据库的操作 1.1 Hive对TABLE的操作 1.1.1 CREATE TABLE语句 语法 示...

  • Hive 基本操作

    数据库基本操作 ( 和MySQL脚本相似 ): 创建删除库操作 创建删除表操作 hive 特点 Hive不支持修改...

  • 使用Python操作Hive

    Python操作Hive 注意:想要使用hive,必须要有一个可用的hive集群,同时为了保证可用使用API操作h...

  • 18Hive中DDL与分区(hive学习1)

    DDL:数据库定义语言DML:数据库操作语言DCL:数据库控制语言Hive的数据类型 Hive完整的DDL建表语法...

  • python操作数据库之Hive

    集群环境:CDH5.8python3版本:3.6.8pip3版本:18.1 备注: 1、host为hiveServ...

  • Python ☞ day 13

    Python学习笔记之 MongoDB数据库 & Redis数据库 系统说明:windows 一、操作MongoD...

网友评论

      本文标题:python操作数据库之Hive

      本文链接:https://www.haomeiwen.com/subject/ucokoctx.html