使用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 (2)
Oct 31 Python
Python和perl实现批量对目录下电子书文件重命名的代码分享
Nov 21 Python
Python网络爬虫实例讲解
Apr 28 Python
Python的Twisted框架上手前所必须了解的异步编程思想
May 25 Python
python的格式化输出(format,%)实例详解
Jun 01 Python
使用Template格式化Python字符串的方法
Jan 22 Python
Python中的字符串切片(截取字符串)的详解
May 15 Python
Python 中Django验证码功能的实现代码
Jun 20 Python
机器学习实战之knn算法pandas
Jun 22 Python
Python集合基本概念与相关操作实例分析
Oct 30 Python
Python还能这么玩之只用30行代码从excel提取个人值班表
Jun 05 Python
Django+Celery实现定时任务的示例
Jun 23 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来处理多个提交任务
2008/05/08 PHP
php中配置文件操作 如config.php文件的读取修改等操作
2012/07/07 PHP
PHP获取数组中重复最多的元素的实现方法
2014/11/11 PHP
php微信公众号开发模式详解
2016/11/28 PHP
yii2利用自带UploadedFile实现上传图片的示例
2017/02/16 PHP
ThinkPHP框架实现FTP图片上传功能示例
2019/04/08 PHP
PHP Trait功能与用法实例分析
2020/06/03 PHP
javascript的对话框详解与参数
2007/03/08 Javascript
使用jquery给新生的th绑定hover事件的实例
2017/02/10 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
使用async await 封装 axios的方法
2018/07/09 Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
2018/08/24 Javascript
浅析JavaScript异步代码优化
2019/03/18 Javascript
Python struct.unpack
2008/09/06 Python
python使用pil生成图片验证码的方法
2015/05/08 Python
对python 自定义协议的方法详解
2019/02/13 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
如何爬取通过ajax加载数据的网站
2019/08/15 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
Emporio Armani腕表天猫官方旗舰店:乔治·阿玛尼为年轻人设计的副线品牌
2017/07/02 全球购物
家庭户外服装:Hawkshead
2017/11/02 全球购物
H&M旗下高端女装品牌:& Other Stories
2018/05/07 全球购物
Europcar比利时:租车
2019/08/26 全球购物
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
高中自我鉴定范文
2013/11/03 职场文书
影视动画专业个人的自我评价
2013/12/31 职场文书
建筑专业毕业生自荐信
2014/05/25 职场文书
保护水资源的标语
2014/06/17 职场文书
反对四风自我剖析材料
2014/10/07 职场文书
关于长城的导游词
2015/01/30 职场文书
爱国主题班会教案
2015/08/14 职场文书
python实现调用摄像头并拍照发邮箱
2021/04/27 Python
Python超简单容易上手的画图工具库推荐
2021/05/10 Python
关于springboot 配置date字段返回时间戳的问题
2021/07/25 Java/Android
Python制作表白爱心合集
2022/01/22 Python