由於很多數據在hadoop平臺,當從hadoop平臺的數據遷移到hive目錄下時,由於hive默認的分隔符是\,爲了平滑遷移,需要在創建表格時指定數據的分割符號,語法如下:
create table test(uid string,name string)row format delimited fields terminated by '\t';
通過這種方式,完成分隔符的指定。
然後通過hadoop fs -cp或者hadoop distcp 進行文件夾複製。
由於數據複製的成本比較高,時間比較慢,當不需要複製數據的時候,可以直接採取移動的方式將hadoop數據轉移到hive,hadoop fs -mv src dest。
一個比較簡單的方法是直接創建 external table,語法如下:
create table test(uid string,name string)row format delimited fields terminated by '\t' location 'hdfs';
通過這種方式,避免數據的移動帶來時間損耗,提高運行的效率。