使用Python构造hive insert语句说明


Posted in Python onJune 06, 2020

mysql可以使用nevicat导出insert语句用于数据构造,但是hive无法直接导出insert语句。我们可以先打印在hive命令行,然后使用脚本拼装成insert语句,进行数据构造。

使用Python构造hive insert语句说明

手动copy到python脚本进行sql语句构造:

def transformString(s):  list_s = s.split('\t')  print(len(list_s))  s_new = ''  for item in list_s:    s_new += '\"' + item.strip(' ') + '\"' + ','  return str(s_new.rstrip(','))# 为手动copy hive命令行打印输出的记录s = "555 helloworld"s_new = transformString(s)sql = 'insert into dw.test PARTITION (ymd = \'2019-03-18\') values({});'.format(s_new)print(sql)

结果:

insert into dw.test PARTITION (ymd = '2019-03-18') values("555","helloworld");

补充知识:python向hive插入数据遇到的坑

因项目需求,应用python建模需要通过hive取数,并将结果写入hive表。

尝试了以下几条坑爹路,仅做记录如下:

通过impyla库搭建hive与python桥梁

1.1 环境配置的坑(回头放连接)

注: 远程访问hive一定要记得配置账号密码!!!报错:。。。-4.。。

1.2 一定不要用impyla中的executemany去批量插入数据,也不要用其他的方式向hive插入数据,都是坑!奇慢无比!找资料也都是说不建议这么做。

长途跋涉hdfs法

2.1 先用python的pyhdfs库将结果写成hdfs文件,然后。。。尼玛!!根本没成功连上服务器的hdfs,本地hdfs到是可以的

2.2 那既然写hdfs,我就直接将模型结果通过hadoop/hdfs命令上传至hdfs。然后, 通过hive命令load data将hdfs中的结果再导入hive。虽然有点绕,但是成功了!!!BUT!!!小兄弟,这个直接操作HDFS风险太高了,要不你还是另寻他法吧,不可以拒绝哦!!!

2.3 好吧,根据建议,使用kafka,抱歉这个坑后面再来踩。

2.4 临时处理方案:先将结果写入mysql,再转入hive,这个没有坑,具体我也只是写到mysql,无坑。。就是有点绕。。。

以上这篇使用Python构造hive insert语句说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
深入分析在Python模块顶层运行的代码引起的一个Bug
Jul 04 Python
python实现的简单文本类游戏实例
Apr 28 Python
Python实现股市信息下载的方法
Jun 15 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
Jun 04 Python
pandas删除指定行详解
Apr 04 Python
Django框架之登录后自定义跳转页面的实现方法
Jul 18 Python
Python-jenkins模块获取jobs的执行状态操作
May 12 Python
Django之全局使用request.user.username的实例详解
May 14 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
Dec 04 Python
利用python+request通过接口实现人员通行记录上传功能
Jan 13 Python
Python项目实战之使用Django框架实现支付宝付款功能
Feb 23 Python
python实现MD5进行文件去重的示例代码
Jul 09 Python
Python通过kerberos安全认证操作kafka方式
Jun 06 #Python
pandas分批读取大数据集教程
Jun 06 #Python
python使用hdfs3模块对hdfs进行操作详解
Jun 06 #Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
Jun 06 #Python
python访问hdfs的操作
Jun 06 #Python
Python API 操作Hadoop hdfs详解
Jun 06 #Python
python读取hdfs上的parquet文件方式
Jun 06 #Python
You might like
php 读取输出其他文件的实现方法
2016/07/26 PHP
关于Javascript 的 prototype问题。
2007/01/03 Javascript
JQuery中对Select的option项的添加、删除、取值
2013/08/25 Javascript
js 距离某一时间点时间是多少实现代码
2013/10/14 Javascript
jquery中checkbox使用方法简单实例演示
2015/11/24 Javascript
JQuery validate插件Remote用法大全
2016/05/15 Javascript
Nodejs把接收图片base64格式保存为文件存储到服务器上
2018/09/26 NodeJs
JavaScript学习笔记之DOM基础操作实例小结
2019/01/09 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
JS的时间格式化和时间戳转换函数示例详解
2020/07/27 Javascript
[01:25:09]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第二场
2014/05/24 DOTA
python冒泡排序算法的实现代码
2013/11/21 Python
Python psutil模块简单使用实例
2015/04/28 Python
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
Python实现配置文件备份的方法
2015/07/30 Python
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
深入理解Python中的内置常量
2017/05/20 Python
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
SVM基本概念及Python实现代码
2017/12/27 Python
Python英文文本分词(无空格)模块wordninja的使用实例
2019/02/20 Python
详解python播放音频的三种方法
2019/09/23 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
Python读取ini配置文件传参的简单示例
2021/01/05 Python
CSS3实现银灰色动画效果的导航菜单代码
2015/09/01 HTML / CSS
巴西购物网站:Estrela10
2018/12/13 全球购物
白俄罗斯大卖场:21vek.by
2019/07/25 全球购物
别名指示符是什么
2012/10/08 面试题
会计实习生自我鉴定
2013/12/12 职场文书
4s店机修工岗位职责
2013/12/20 职场文书
旅游节目策划方案
2014/05/26 职场文书
党员干部反四风对照检查材料思想汇报
2014/09/14 职场文书
新课程改革心得体会
2016/01/22 职场文书
Python机器学习之基础概述
2021/05/19 Python
Python实战之大鱼吃小鱼游戏的实现
2022/04/01 Python
在虚拟机中安装windows server 2008的图文教程
2022/06/28 Servers