校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 解決hive中導入text文件遇到的坑

解決hive中導入text文件遇到的坑

熱門標簽:原裝電話機器人 工廠智能電話機器人 西藏智能外呼系統五星服務 千陽自動外呼系統 清遠360地圖標注方法 江蘇客服外呼系統廠家 400電話申請服務商選什么 在哪里辦理400電話號碼 平頂山外呼系統免費

今天幫一同學導入一個excel數據,我把excel保存為txt格式,然后建表導入,失敗!分隔符格式不匹配,無法導入!!!!怎么看兩邊都是\t,怎么不匹配呢?

做為程序員,最不怕的就是失敗,因為我們有一顆勇敢的心!再來!又特么失敗。。。

想了好久,看看了看我的表格式,我犯了一個好低級的錯誤:

hive表的存儲格式設置為了orcfile!!!

眾所周知:orcfile為壓縮格式,可以節約大量存儲空間,但orc還有個特點就是不能直接load數據!要想load數據,我們要建一個存儲格式為textfile的中間表,然后再把數據抽取過去。因為這個錯誤太簡單,網上有相關科普,因此很少有把它當錯誤寫出來。遇到問題的朋友們可能要走些彎路,我來補個漏~~~~~~

舉個栗子:

1.首先,導出excel表格為txt格式,(這個過程不再贅述,網上教程一大把)。

123,小明,666,1990-09-23 12:00:18
256,小伙,555,1989-10-06 03:57:32
142,小蘭,444,1992-07-04 05:05:45

2.在hive中創建表模型:

CREATE TABLE IF NOT EXISTS STUDENTS
(
ID INT COMMENT'學生',
SNAME STRING COMMENT '姓名',
SCORE INT COMMENT '得分',
STIME STRING COMMENT '考試時間'
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS ORCFILE;

3.創建臨時表(中間表):

CREATE TABLE IF NOT EXISTS STUDENTS_TMP
(
ID INT COMMENT'學生',
SNAME STRING COMMENT '姓名',
SCORE INT COMMENT '得分',
STIME STRING COMMENT '考試時間'
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFILE;

與目標表只有名稱和存儲格式不同,其他都相同。

4.load 數據到臨時表:

load data local inpath '/export/data/1.txt' into table students_tmp;

5.將數據導入目標表:

insert overwrite table students select * from students_tmp;

6.然后查看表數據,大功造成:

hive > select * from students;
OK
123 小明 666 1990-09-23 12:00:18
256 小伙 555 1989-10-06 03:57:32
142 小蘭 444 1992-07-04 05:05:45
Time taken: 0.26 seconds, Fetched: 3 row(s)

其他存儲格式如 SEQUENCEFILE、PARQUET 等,也要選存儲為textfile格式,然后抽入目標表。

一定要按照導出格式的分隔符建表,不然load數據必然出錯或全是null;

excel導出格式:

格式 分隔符 中文名稱
text \t  制表符
csv , 逗號

7.還要注意一點是我們從excel導出的文件格式是gb2312 (無論是txt還是csv都是這個格式,都需要轉碼),我們需要把它轉成utf-8才能Load。

所以在load之前,我們一般會采取兩種辦法:

1. 在文本編輯器中進行轉碼,帶不帶bom關系不大,然后上傳;

2.在文件所在本地目錄下執行以下命令轉碼:

piconv -f gb2312 -t UTF-8 1.txt > 2.txt

注意,在本地目錄下命令轉碼會改變文件名,因為此命令會把所文件寫入到另一個文件,并清空原文件內容,如果我們不改名,文件內容會完全丟失。所以,我們Load的時候一定要選擇修改后的文件名哦。

示例:

轉碼前數據:

hive> select * from students;
OK
112	��	35	2017/8/19 15:30
113	����	45	
114	³��	55	2017/8/21 15:30
115	����	NULL	
116	������	75	2017/8/23 15:30
117	������	85	2017/8/24 15:30
118	�˽�	NULL	2017/8/25 15:30
119	������	90	
120	СѾ	NULL	2017/8/27 15:30
121	����	80	2017/8/28 15:30
122	��߸	75	
123	��«��	70	2017/8/30 15:30
124	����	NULL	2017/8/31 15:30
125	�繤	NULL	
126	�嶠	NULL	2017/9/2 15:30
127	˾��	50	2017/9/3 15:30
128	������	58	2017/9/4 15:30
129	����	66	2017/9/5 15:30
Time taken: 0.134 seconds, Fetched: 18 row(s)

去所在目錄下轉碼,再Load

piconv -f gb2312 -t UTF-8 2.csv > 3.csv
# 在hive中選擇正確的文件Load:
hive> load data local inpath '/export/data/3.csv' into table students;

結果:

hive> select * from students;
OK
112	小寶	35	2017/8/19 15:30
113	王明	45	
114	魯班	55	2017/8/21 15:30
115	苗苗	NULL	
116	少林寺	75	2017/8/23 15:30
117	體育界	85	2017/8/24 15:30
118	八戒	NULL	2017/8/25 15:30
119	周芷若	90	
120	小丫	NULL	2017/8/27 15:30
121	海寶	80	2017/8/28 15:30
122	哪吒	75	
123	葫蘆娃	70	2017/8/30 15:30
124	丹楓	NULL	2017/8/31 15:30
125	電工	NULL	
126	村長	NULL	2017/9/2 15:30
127	司機	50	2017/9/3 15:30
128	王世間	58	2017/9/4 15:30
129	松鼠	66	2017/9/5 15:30
Time taken: 0.106 seconds, Fetched: 18 row(s)

補充:hive導入數據出現NULL

在把hdfs上數據遷移到hive中的表時,若出現數據位NULL,是因為沒有指定列分隔符。

由于hive默認的分隔符是/u0001(Ctrl+A),為了平滑遷移,需要在創建表格時指定數據的分割符號,語法如下:

hive (default)> create external table et (time BIGINT, userid string, content string, urlrank int, urlnum int, url string)
  > partitioned by (filenum int) 
  > row format delimited fields terminated by '\t'; 

上面創建的是外部表,“導入”數據時可以用load,但若不想進行移動數據,就用命令alter來進行指向:

alter table et add partition (filenum=1) location '/input/SogouQueryLog/file1';

注意location后面跟的地址必須是個目錄,若不是,可以用hdfs fs -mv src dest 進行移動數據:

hadoop fs -mv /input/SogouQueryLog/querylog_1 /input/SogouQueryLog/file1

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 在python中使用pyspark讀寫Hive數據操作
  • 使用Python構造hive insert語句說明
  • python3.6.5基于kerberos認證的hive和hdfs連接調用方式
  • python 實現 hive中類似 lateral view explode的功能示例
  • Python pandas 列轉行操作詳解(類似hive中explode方法)

標簽:日照 安慶 白城 錦州 隨州 西安 天水 股票

巨人網絡通訊聲明:本文標題《解決hive中導入text文件遇到的坑》,本文關鍵詞  解決,hive,中,導入,text,文件,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《解決hive中導入text文件遇到的坑》相關的同類信息!
  • 本頁收集關于解決hive中導入text文件遇到的坑的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    成人性生交大片免费看中文| 国产精品私人影院| 美日韩黄色大片| 在线播放中文一区| 国模冰冰炮一区二区| 久久久久久免费网| 国产美女精品在线| 国产精品国产三级国产普通话蜜臀| av在线综合网| 亚洲第一精品在线| 欧美一区二区视频在线观看2020 | 欧美日韩精品三区| 免费成人小视频| 国产丝袜欧美中文另类| 99国产欧美另类久久久精品| 午夜不卡在线视频| 久久久久99精品国产片| 色婷婷av一区二区三区gif| 午夜精品成人在线| 精品国产不卡一区二区三区| 国产不卡视频一区二区三区| 亚洲精品日韩综合观看成人91| 欧美日本国产视频| 成人视屏免费看| 一卡二卡三卡日韩欧美| 2023国产精品自拍| 欧美中文字幕一区二区三区| 老司机午夜精品| 日韩伦理免费电影| 精品国产凹凸成av人网站| jlzzjlzz欧美大全| 九九久久精品视频 | 亚洲一区二区三区在线看| 精品欧美一区二区三区精品久久| eeuss鲁片一区二区三区在线看| 三级久久三级久久久| 中文字幕视频一区| 精品1区2区在线观看| 在线观看视频一区二区欧美日韩| 国内外成人在线视频| 亚洲国产乱码最新视频| 国产精品福利一区二区三区| 精品欧美一区二区在线观看| 欧美午夜视频网站| 不卡的电影网站| 久久99国产精品免费网站| 亚洲一区二区三区四区中文字幕| 国产日韩欧美精品在线| 91精品婷婷国产综合久久性色| av一本久道久久综合久久鬼色| 极品少妇xxxx精品少妇| 亚洲成人一区在线| 亚洲女厕所小便bbb| 久久精品视频在线免费观看| 日韩欧美的一区二区| 精品视频在线视频| 91国模大尺度私拍在线视频| 成人免费观看av| 国内成+人亚洲+欧美+综合在线| 日韩中文字幕1| 一区二区欧美在线观看| 亚洲美女视频在线观看| 国产精品美女久久久久久久久久久| 久久综合九色综合97_久久久| 在线成人高清不卡| 7799精品视频| 欧美伦理电影网| 欧美精品在线一区二区三区| 精品精品欲导航| 欧美妇女性影城| 欧美日韩黄色影视| 51精品秘密在线观看| 欧美美女直播网站| 91精品午夜视频| 欧美一级一区二区| 日韩一区二区免费在线电影 | 日本韩国欧美一区二区三区| 99久久精品国产麻豆演员表| 99久久亚洲一区二区三区青草| 国产美女视频一区| 成人一级片网址| 99精品视频中文字幕| 一本大道综合伊人精品热热| 色婷婷精品大视频在线蜜桃视频 | 91精品久久久久久久99蜜桃| 欧美精选午夜久久久乱码6080| 777xxx欧美| 欧美精品一区二区高清在线观看| 精品日韩欧美一区二区| 国产视频一区二区在线观看| 亚洲国产精品国自产拍av| 中文字幕一区二区三区精华液| 一区二区三区在线观看网站| 亚洲午夜三级在线| 久久精品国产免费看久久精品| 精品一区二区精品| 91在线一区二区| 欧美精品国产精品| 久久精品欧美一区二区三区麻豆| 综合激情成人伊人| 午夜精品福利一区二区三区av | 精品国产青草久久久久福利| 久久久久久久免费视频了| 成人欧美一区二区三区小说| 午夜视频一区二区三区| 国产一区二区不卡在线| 99re热视频精品| 91精品久久久久久久久99蜜臂| 国产亚洲婷婷免费| 亚洲国产美女搞黄色| 国内精品伊人久久久久av一坑| aaa亚洲精品| 69堂成人精品免费视频| 亚洲国产成人自拍| 日韩高清在线不卡| 9色porny自拍视频一区二区| 在线电影一区二区三区| 国产精品美女一区二区| 免费观看在线色综合| eeuss鲁片一区二区三区| 欧美日韩成人综合| 中文字幕一区二区三区蜜月 | www.色精品| 91精品国产91久久久久久一区二区 | 奇米一区二区三区av| 成人av网站免费| 日韩限制级电影在线观看| 亚洲欧美偷拍三级| 精品亚洲国内自在自线福利| 欧美色综合天天久久综合精品| 国产亚洲欧美在线| 日产欧产美韩系列久久99| 91麻豆6部合集magnet| 久久蜜桃av一区精品变态类天堂 | 91色porny在线视频| 亚洲人成网站精品片在线观看| 1000部国产精品成人观看| 亚洲电影你懂得| gogo大胆日本视频一区| 精品国产91乱码一区二区三区| 一区二区三区在线视频免费观看| 九九国产精品视频| 欧美高清视频不卡网| 国产精品系列在线观看| 国产揄拍国内精品对白| 欧美日韩国产一区二区三区地区| 国产精品久久毛片| 国产精品亚洲专一区二区三区| 日韩一区二区精品| 五月天亚洲婷婷| 欧美性猛片aaaaaaa做受| 国产精品高清亚洲| 不卡一区在线观看| 国产精品区一区二区三| 国产成人精品免费网站| 26uuu精品一区二区在线观看| 日韩电影在线一区二区| 欧美日韩视频一区二区| 亚洲妇女屁股眼交7| 在线观看日产精品| 亚洲福利一二三区| 欧美日本一区二区三区| 亚洲bt欧美bt精品777| 欧美日产在线观看| 亚洲大尺度视频在线观看| 欧美少妇性性性| 午夜精品福利视频网站| 91精品国产综合久久婷婷香蕉| 日韩国产欧美三级| 日韩免费电影网站| 麻豆精品一二三| www国产成人| 国产精品自在在线| 国产精品的网站| 色94色欧美sute亚洲线路二| 亚洲午夜激情av| 69成人精品免费视频| 韩国v欧美v亚洲v日本v| 国产亚洲精品资源在线26u| 高清国产午夜精品久久久久久| 国产精品久久久久久久久搜平片| 91在线视频网址| 亚洲va欧美va天堂v国产综合| 日韩一区二区三区三四区视频在线观看| 免费xxxx性欧美18vr| 精品久久久久久久久久久院品网| 国产电影一区在线| 国产精品三级电影| 成人国产精品免费| 亚洲一区欧美一区| 欧美大肚乱孕交hd孕妇| 国产成人av一区二区三区在线观看| 1000部国产精品成人观看| 欧美日韩精品专区| 国产综合成人久久大片91| 亚洲欧美福利一区二区| 在线不卡一区二区| 国产v日产∨综合v精品视频| 视频在线观看一区二区三区| 精品国产污污免费网站入口 |