python處理數(shù)據(jù),存進(jìn)hive表的方法
首先,公司的小組長(zhǎng)給了我一個(gè)任務(wù),把一個(gè)txt的文件中的部分內(nèi)容,存進(jìn)一個(gè)在hive中已有的表的相同結(jié)構(gòu)的表中。所以我的流程主要有三個(gè),首先,把數(shù)據(jù)處理成和hive中表相同結(jié)構(gòu)的數(shù)據(jù),然后仿照已有的hive中表的結(jié)構(gòu)再創(chuàng)建一張新的數(shù)據(jù)表,最后把本地的txt文件上傳到hive中新建的數(shù)據(jù)表中。
1:已有的數(shù)據(jù)表的結(jié)構(gòu)和在hive表中的結(jié)構(gòu)完全對(duì)不上,下面的圖是原來(lái)hive中表的結(jié)構(gòu)和小組長(zhǎng)給我的txt中表的結(jié)構(gòu):
大家可以看出,我們?cè)瓉?lái)的hive中表的字段一共有17個(gè),而組長(zhǎng)給我的表中的字段一共有9個(gè),其中最后一個(gè)為json結(jié)構(gòu),而且順序還不對(duì),所以我們要進(jìn)行篩選,把對(duì)應(yīng)上的字段放到相應(yīng)位置,對(duì)應(yīng)不上的字段寫成空。
大家要注意幾個(gè)地方,原來(lái)的數(shù)據(jù)是按照tab來(lái)劃分的,所以我們要數(shù)好對(duì)應(yīng)的tab的數(shù)目,好來(lái)計(jì)算出來(lái)數(shù)據(jù)的實(shí)際的位置信息,然后我們按照原來(lái)hive表中的數(shù)據(jù)順序,重新排列我們新建表的數(shù)據(jù)的順序,下面給大家看看結(jié)果:
其中l(wèi)ine[0]=null,line[1]=102,大家以此類推。
3:我們把本地的txt文件導(dǎo)入到hive表中。首先我們要新建一個(gè)和原來(lái)hive表中相同結(jié)構(gòu)的數(shù)據(jù)表,然后把我們的數(shù)據(jù)導(dǎo)入到表中,
hive> creat table new_sft(x1 string,x2 string ,...,xn string) partitioned by (d string);
建好表之后,把數(shù)據(jù)導(dǎo)入到新表之中:
hive> load data local inpath‘/home/opendev/1.txt' into table new_sft;
最后給大家看看我的最終的結(jié)果:
以上這篇python處理數(shù)據(jù),存進(jìn)hive表的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 在python中使用pyspark讀寫Hive數(shù)據(jù)操作
- 使用Python構(gòu)造hive insert語(yǔ)句說(shuō)明
- python 實(shí)現(xiàn) hive中類似 lateral view explode的功能示例
- Python pandas 列轉(zhuǎn)行操作詳解(類似hive中explode方法)
- python 操作hive pyhs2方式
- 如何在python中寫hive腳本
- python導(dǎo)出hive數(shù)據(jù)表的schema實(shí)例代碼
- Python讀取Hive數(shù)據(jù)庫(kù)實(shí)現(xiàn)代碼詳解
相關(guān)文章
python文件操作seek()偏移量,讀取指正到指定位置操作
這篇文章主要介紹了python文件操作seek()偏移量,讀取指正到指定位置操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07Python?ArcPy實(shí)現(xiàn)批量計(jì)算多時(shí)相遙感影像的各項(xiàng)元平均值
這篇文章主要為大家詳細(xì)介紹了如何基于Python中ArcPy模塊,實(shí)現(xiàn)對(duì)大量長(zhǎng)時(shí)間序列柵格遙感影像文件的每一個(gè)像元進(jìn)行多時(shí)序平均值的求取,感興趣的可以了解一下2023-04-04Python實(shí)現(xiàn)扣除個(gè)人稅后的工資計(jì)算器示例
這篇文章主要介紹了Python實(shí)現(xiàn)扣除個(gè)人稅后的工資計(jì)算器,涉及Python流程控制與數(shù)學(xué)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2018-03-03python用match()函數(shù)爬數(shù)據(jù)方法詳解
在本篇文章里小編給大家整理了關(guān)于python用match()函數(shù)爬數(shù)據(jù)方法以及相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。2019-07-07Python對(duì)數(shù)據(jù)進(jìn)行插值和下采樣的方法
今天小編就為大家分享一篇Python對(duì)數(shù)據(jù)進(jìn)行插值和下采樣的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07使用GitHub和Python實(shí)現(xiàn)持續(xù)部署的方法
這篇文章主要介紹了使用GitHub和Python實(shí)現(xiàn)持續(xù)部署的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05