编写Python脚本将Hive的运算结果保存到MySQL数据库中(1)
很多情况下,需要将Hive中的运算结果保存到MySQL数据库中,可以通过简单的Python脚本来实现。
例子1:如果获取Hive查询语句的返回值
#encoding=utf-8
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('10.20.134.199', 10000) //Hive所在的服务器IP和使用的端口
transport = TTransport.TBufferedTransport(transport)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = ThriftHive.Client(protocol)
transport.open()
client.execute(sql)
print "The return value is : " client.fetchOne()
transport.close()
except Thrift.TException, tx:
print '%s' % (tx.message)
if __name__ == '__main__':
print hiveExe("select count(userid) as cnt from user_table where day ='20110120' ")
例子2:用户Hive查询结果的返回值更新MySQL指定表指定字段
def mysqlExe(sql):
conn = MySQLdb.connect (host = "10.10.111.111",
user = "user",
passwd = "password",
db = "database")
cursor = conn.cursor ()
cursor.execute (sql)
cursor.close ()
conn.close ()
def hiveExeUpdate(sql,db,tableName,column,date):
try:
transport = TSocket.TSocket('10.20.134.199', 10000)
transport = TTransport.TBufferedTransport(transport)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = ThriftHive.Client(protocol)
transport.open()
client.execute(sql)
update_sql= " update " + tableName + " set " + column + " = " + client.fetchOne() + " where id = '" + date + "'"
mysqlExe(update_sql) //执行一条SQL语句
transport.close()
except Thrift.TException, tx:
print '%s' % (tx.message)
分享到:
相关推荐
主要介绍了如何在python中写hive脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
apache-hive-1.2.1-bin.tar.gz mysql-connector-java-5.1.6-bin 用于安装Hive并使用MySQL作为元数据库
java操作Hive源码之HiveJDBC实例(mysql数据库),附带所需jar包,欢迎下载学习。
# 此脚本查找以“--”开头的注释 # ----------------------------------------------示例----------------------------------------- # -- 查找姓名为张三的学生信息 # insert overwrite table student_search # ...
1.将Mysql中的数据迁移到Hdfs文件系统中,然后通过Hive加载HDFS文件系统中的数据值 2.将Hive中的数据迁移到指定Mysql数据库中 注意点: 1.数据迁移的过程中,由于hive的Null值存储为"\N",Mysql存储为NULL值,二者...
hive介绍 安装 和 mysql 数据库的安装
hive1.2.1用mysql作为元数据库搭建DT-大数据 大数据学习可以了解一下
cloudera manager中添加hive数据库使用mysql的配置的详细步骤
centos 下hive连接mysql驱动 ,mysql-connector-java-8.0.26-1.el7....4.按你的实际需求,将此mysql-connector-java.jar文件复制到你需要的地方,一班是在大数据组件的conf目录,比如hive是/usr/software/hive312/lib/
Linux 搭建Hive链接mysql教程 适用搭建hadoop,配置环境使用
本实践项目通过一个网站的运营日志,利用hadoop/hive/sqoop/mysql/python等一系列组件联合实践分析挖掘网站运营数据。是不可多得的完整的学习、讲课案例资源。本资源包含ppt、代码、文档及所需数据。
python脚本访问http接口数据写入hive表
将“數倉數據提供與報表流程開發\码表导入\TY”中csv内容导入hive的码表当中。 目标csv:sfc_b_phase.csv 2、将csv文件放到hive对应的服务器上 hadoop服务器:10.176.153.32 1、将sfc_b_phase.csv放在32的root目录下...
最近在将数据从Mysql 等其他关系型数据库 抽取到Hive 表中时,需要同步mysql表中的注释,以下脚本可以生成hive表字段注释修改语句。 注:其他关系型数据库如:oracle 可以通过相同的思路,读取元数据,修改脚本语法...
pyflink将mysql数据直接插入hive,由此可以延伸出pyflink实现hive关联mysql
今天小编就为大家分享一篇python处理数据,存进hive表的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
hive安装依赖以及启动脚本 文件包含如下: 01_mysql-community-common-5.7.29-1.el7.x86_64.rpm 02_mysql-community-libs-5.7.29-1.el7.x86_64.rpm 03_mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm 04_...
内容包括hive如何安装与启动,以及如何使用python访问hive,希望对大家有帮助。
2.hive源表:创建hive源表,每个shell脚本对应一个hive源表 #!/bin/bash source /etc/profile CUR_DATE=`date +%Y%m%d` echo "-- CUR_DATE:"$CUR_DATE /opt/cloudera/parcels/CDH/bin/hive (进入hive) USE ...
可能对于很多编程员来说注册表HIVE数据库都是个头痛的难题,这篇源代码或许有所帮助