Hive數據線下導入Mysql

1.背景

     最近在處理一個數據量級在1億左右的數據,沒辦法mysql不好處理,只能把數據放到大數據集羣進行處理,處理好後再把這億級數據導入本地Mysql。

2.實踐

(1)把需要處理的數據手動傳到集羣,上傳的數據只有一萬條左右,經過笛卡爾積以及各種運算後,結果數據條數有一億左右,文件大小有5G左右。

(2)由於本地電腦的mysql是安裝到c盤的,爲了減小系統盤壓力,只能把數據遷移到其他目錄。首先通過services.msc打開mysq服務,找到mysql的存儲目錄,然後修改my.ini裏面配置的存儲路徑,注意在windows系統,這個斜槓要反過來/。同時把該級目錄裏面的Data目錄下的所有文件拷貝到目標目錄,然後再啓動mysql,注意一定要把數據文件拷貝過去了再重啓,不然重啓會失敗哦。

 圖1

 (3)通過hadoop dfs -get /xxx把hdfs文件拿到服務器下,然後從服務器上把文件下載到本地,再根據圖1的路徑執行mysql -uroot -pxxxx --local-infile=1從而打開mysql命令的執行終端,最後執行如下命令把數據導入mysql。

load data local infile 'D:/developmentwork/goodname/word/word/word/000002_0' into table chinese_word_base_name_info  fields terminated by ',';

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章