您好,登錄后才能下訂單哦!
首先,公司的小組長給了我一個任務,把一個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表的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。