python处理数据,存进hive表的方法

yipeiwu_com6年前Python基础

首先,公司的小组长给了我一个任务,把一个txt的文件中的部分内容,存进一个在hive中已有的表的相同结构的表中。所以我的流程主要有三个,首先,把数据处理成和hive中表相同结构的数据,然后仿照已有的hive中表的结构再创建一张新的数据表,最后把本地的txt文件上传到hive中新建的数据表中。

1:已有的数据表的结构和在hive表中的结构完全对不上,下面的图是原来hive中表的结构和小组长给我的txt中表的结构:

大家可以看出,我们原来的hive中表的字段一共有17个,而组长给我的表中的字段一共有9个,其中最后一个为json结构,而且顺序还不对,所以我们要进行筛选,把对应上的字段放到相应位置,对应不上的字段写成空。

大家要注意几个地方,原来的数据是按照tab来划分的,所以我们要数好对应的tab的数目,好来计算出来数据的实际的位置信息,然后我们按照原来hive表中的数据顺序,重新排列我们新建表的数据的顺序,下面给大家看看结果:

其中line[0]=null,line[1]=102,大家以此类推。

3:我们把本地的txt文件导入到hive表中。首先我们要新建一个和原来hive表中相同结构的数据表,然后把我们的数据导入到表中,

hive> creat table new_sft(x1 string,x2 string ,...,xn string) partitioned by (d string);

建好表之后,把数据导入到新表之中:

hive> load data local inpath‘/home/opendev/1.txt' into table new_sft;

最后给大家看看我的最终的结果:

以上这篇python处理数据,存进hive表的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

浅谈python中np.array的shape( ,)与( ,1)的区别

如下所示: >>> import numpy as np >>> x = np.array([1, 2]) >>> y = np...

python与C、C++混编的四种方式(小结)

混编的含义有两种, 一种是在python里面写C 一种是C里面写python 本文主要是进行简化,方便使用。 ######################################...

Python卸载模块的方法汇总

easy_install 卸载 通过easy_install 安装的模块可以直接通过  easy_install -m PackageName 卸载,然后删除\Python27...

Python之dict(或对象)与json之间的互相转化实例

在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作。 在Python中自带json库。通过import json导入。 在json模块有2个方法, lo...

PyQt5实现下载进度条效果

PyQt5实现下载进度条效果

起因是因为公司要开发一款自动登录某网站的助手工具提供给客户使用,要使用到selenium,所以选择了pyqt5的方式来开发这个C/S架构的客户端 在过程中要用到自动更新的功能,所以自己写...