1.1匯入內部表
(1)本地或者hdfs匯入:
load data[local] inpath 'filepath' [overwrite] into tabletablename [partition(partcol1=val1, partcol2=val2 ...)]
區別是看有無關鍵字local,有local表示從本地路徑匯入,無local表示從hadoop(hbase或hdfs)匯入。
匯入的前提是目標表必須存在。如果無表要先建表,再匯入:
create table myword(idstring, counts int, dt string) row formatdelimitedfields terminated by 『\t』;
(2)用hive表的select結果匯入
insert overwrite table t1 select * fromt2;
其中,insert overwrite table表示覆蓋,刪除原資料;
而insert into table 表示增量的插入,不刪除原資料。
另外,刪除表:drop table if exists t1;
清空表:truncate table t1;
1.2 匯入外部表:
建表時直接指定資料來源(不能指定本地檔案,必須是hdfs路徑):
(1)hdfs上資料匯入hive:
create external table wizad_mdm_dev_lmj_edition_20141120 (
cookie_id string,
guid string
)
rowformat delimited
fieldsterminatedby ','
linesterminatedby '\n'
storedas textfile
location'/user/wizad/test/lmj/edition_compare/';
其中,也可以用全路徑location'hdfs://namenode/user/wizad/test/lmj/edition_compare/';
(2)hbase上資料匯入hive表:
先指定引數
set mapred.job.queue.name=queue3;
sethbase.client.scanner.caching=5000;
sethbase.zookeeper.quorum=datanode06,datanode07,datanode08;
set zookeeper.znode.parent=/hbase;
有map型別結構,建表時需要指明:
create external table lxw2 (
key string,
value map
stored by'org.apache.hadoop.hive.hbase.hbasestoragehandler'
tblproperties("hbase.table.name"="wizad_mdm_task_geely_hk_20141014");
查詢結果
select key,dim_name,dim_value from lxw2
lateral view explode(value) mytable1as dim_name,dim_value
--where key = '000000054153796
---------------------
原文:
Hive 表資料的匯出 匯入(HDFS 本地)
資料匯出 1 語法 load data local inpath 資料的path overwrite into table student partition partcol1 val1,1 load data 表示載入資料 2 local 表示從本地載入資料到hive表 否則從hdfs載入資料到h...
匯入HDFS的資料到Hive
create external table if not exists finance.json serde optd table retcode string,retmsg string,data array row format serde org.apache.hive.hcatalog.da...
Mysql 匯入資料 本地 HDFS資料入庫
在mysql中建好錶後,匯入資料的時候使用了2種方法 1 由txt xlsx xls檔案匯入 網上步驟一步一步進行即可,位址鏈結 tips 使用該方法遇到的問題 1 使用txt文件匯入資料時,即使txt文件資料和表字段一一選好,但還是會出現錯位的情況,不知為何在他匯入的時候會自己重新排插入表字段的順...