使用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中的深拷贝和浅拷贝详解
Jun 03 Python
Python中的迭代器与生成器高级用法解析
Jun 28 Python
Python爬虫之xlml解析库(全面了解)
Aug 08 Python
Python pandas DataFrame操作的实现代码
Jun 21 Python
Python将string转换到float的实例方法
Jul 29 Python
selenium+PhantomJS爬取豆瓣读书
Aug 26 Python
wxPython色环电阻计算器
Nov 18 Python
Python读取配置文件(config.ini)以及写入配置文件
Apr 08 Python
jupyter notebook oepncv 显示一张图像的实现
Apr 24 Python
Python 代码调试技巧示例代码
Aug 11 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
Oct 31 Python
Python turtle实现贪吃蛇游戏
Jun 18 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 curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
2011/04/07 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
2015/10/10 PHP
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
jQuery ctrl+Enter shift+Enter实现代码
2010/02/07 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
举例讲解Node.js中的Writable对象
2015/07/29 Javascript
基于javascript实现句子翻牌网页版小游戏
2016/03/23 Javascript
ionic实现带字的toggle滑动组件
2016/08/27 Javascript
js数据类型检测总结
2018/08/05 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
vue 函数调用加括号与不加括号的区别
2020/10/29 Javascript
python实现的解析crontab配置文件代码
2014/06/30 Python
Python 详解基本语法_函数_返回值
2017/01/22 Python
python模块smtplib学习
2018/05/22 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
Python3.5迭代器与生成器用法实例分析
2019/04/30 Python
Python模块的制作方法实例分析
2019/12/21 Python
Python利用for循环打印星号三角形的案例
2020/04/12 Python
Tensorflow--取tensorf指定列的操作方式
2020/06/30 Python
Python如何使用神经网络进行简单文本分类
2021/02/25 Python
HTML5实现移动端复制功能
2018/04/19 HTML / CSS
北美大型运动类产品商城:Champs Sports
2017/01/12 全球购物
获取邓白氏信用报告:Dun & Bradstreet
2019/01/22 全球购物
英国川宁茶官方网站:Twinings茶
2019/05/21 全球购物
实习生自荐信范文
2013/11/13 职场文书
给民警的表扬信
2014/01/08 职场文书
有关打架的检讨书
2014/01/25 职场文书
个人作风剖析材料
2014/02/02 职场文书
护理学专业求职信
2014/06/29 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
主要领导对照检查材料
2014/08/26 职场文书
见习期个人总结
2015/03/05 职场文书
Python数据分析之绘图和可视化详解
2021/06/02 Python
解析MySQL索引的作用
2022/03/03 MySQL
Java 多态分析
2022/04/26 Java/Android