使用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实现代码
Oct 10 Python
Python3读取Excel数据存入MySQL的方法
May 04 Python
numpy给array增加维度np.newaxis的实例
Nov 01 Python
python模拟登陆,用session维持回话的实例
Dec 27 Python
详解python持久化文件读写
Apr 06 Python
python3利用Axes3D库画3D模型图
Mar 25 Python
Python装饰器的应用场景代码总结
Apr 10 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
Aug 07 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
Jan 12 Python
tensorflow学习笔记之tfrecord文件的生成与读取
Mar 31 Python
Python基础之进程详解
May 21 Python
pytorch 运行一段时间后出现GPU OOM的问题
Jun 02 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
搜索引擎技术核心揭密
2006/10/09 PHP
PHP 变量的定义方法
2010/01/26 PHP
配置Nginx+PHP的正确思路与过程
2016/05/10 PHP
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
jQuery ReferenceError: $ is not defined 错误的处理办法
2013/05/10 Javascript
深入理解Javascript中的循环优化
2013/11/09 Javascript
jquery 页面滚动到底部自动加载插件集合
2014/01/31 Javascript
JS图片自动轮换效果实现思路附截图
2014/04/30 Javascript
在JS数组特定索引处指定位置插入元素
2014/07/27 Javascript
JavaScript语言对Unicode字符集的支持详解
2014/12/30 Javascript
js实现无缝滚动特效
2015/12/20 Javascript
AngularJS动态生成div的ID源码解析
2016/08/29 Javascript
详解javascript表单的Ajax提交插件的使用
2016/12/29 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
使用ES6语法重构React代码详解
2017/05/09 Javascript
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
微信小程序表单验证WxValidate的使用
2019/11/27 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
Vue开发中常见的套路和技巧总结
2020/11/24 Vue.js
python实现得到一个给定类的虚函数
2014/09/28 Python
Python循环语句中else的用法总结
2016/09/11 Python
python使用正则表达式替换匹配成功的组
2017/11/17 Python
python3.x上post发送json数据
2018/03/04 Python
python画图--输出指定像素点的颜色值方法
2019/07/03 Python
PyTorch的Optimizer训练工具的实现
2019/08/18 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
2019/10/06 Python
Python实现数值积分方式
2019/11/20 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
基于Python的自媒体小助手---登录页面的实现代码
2020/06/29 Python
加拿大拼图大师:Puzzle Master
2020/12/28 全球购物
资产经营总监岗位职责
2013/12/04 职场文书
群众路线教育实践活动调研报告
2014/11/03 职场文书
2015年大学生社会实践评语
2015/03/26 职场文书
Mysql systemctl start mysqld报错的问题解决
2021/06/03 MySQL
Python识别花卉种类鉴定网络热门植物并自动整理分类
2022/04/08 Python