hive 数据导入:Python 脚本
1 前言
在对 hive 表进行数据导入时,针对有分区表插入数据时,总是使用外部临时表映射静态数据文件,然后再用查询的方式插入数据。
这样每次都需要进行创建临时表、上传 HDFS、执行插入 SQL 等一系列操作,这样步骤非常繁琐,也容易在环境中残留一些垃圾文件。
其实 HIVE 也是支持 SQL 语句插入数据的,也就是 insert 语句,当插入大量数据时,可以拼装 insert 语句进行插入。
想要快速使用并且轻量化,就要用到我们今天说的 Python 脚本了。
首先我们先说一下使用的大数据组件 Impala。
2 Impala
什么是 Impala
Impala 是 Cloudera 公司主导开发的新型查询系统,它提供 SQL 语义,能查询存储在 Hadoop 的 HDFS 和 HBase 中的 PB 级大数据。已有的 Hive 系统虽然也提供了 SQL 语义,但由于 Hive 底层执行使用的是 MapReduce 引擎,仍然是一个批处理过程,难以满足查询的交互性。相比之下,Impala 的最大特点也是最大卖点就是它的快速。
想要在 python 中安装 impala,直接 pip install impala 是不行的,需要按照一下步骤依次进行:
测试,不报错则表示安装成功:
3 Python 脚本
程序在运行时需要使用 impala,并且需要通过 csv 文件导入数据,所以需要引用一下包
首先要写一个连接 hive 并且可以执行 sql 的类
下面编写一个通过 csv 文件,把要导入的数据转成一个 sql
最后传入文件,选择好要插入的表,执行 sql 语句即可
结束语
我是怀瑾握瑜,一只大数据萌新,上能 code 下能 teach 的全能奶爸,家有两只吞金兽,嘉与嘉
如果您喜欢我的文章,可以[关注⭐]+[点赞👍]+[评论📃],您的三连是我前进的动力,期待与您共同成长~
版权声明: 本文为 InfoQ 作者【怀瑾握瑜的嘉与嘉】的原创文章。
原文链接:【http://xie.infoq.cn/article/3b510317358c14cdd080d1fa6】。文章转载请联系作者。
评论