真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何在Hive中使用Load語句加載數(shù)據(jù)-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“如何在Hive中使用Load語句加載數(shù)據(jù)”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何在Hive中使用Load語句加載數(shù)據(jù)”這篇文章吧。

創(chuàng)新互聯(lián)服務項目包括浚縣網(wǎng)站建設、??h網(wǎng)站制作、??h網(wǎng)頁制作以及??h網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,??h網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到浚縣省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

一、Hive中l(wèi)oad語句的語法說明

Hive Load語句不會在加載數(shù)據(jù)的時候做任何轉(zhuǎn)換工作,而是純粹的把數(shù)據(jù)文件復制/移動到Hive表對應的地址。語法格式如下:

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename \
[PARTITION (partcol1=val1, partcol2=val2 ...)]
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename \
[PARTITION (partcol1=val1, partcol2=val2 ...)] \
[INPUTFORMAT 'inputformat' SERDE 'serde'] (3.0 or later)

幾點說明:

  • 如果命令中帶有LOCAL,說明從本地文件系統(tǒng)加載數(shù)據(jù),文件路徑可以是相對路徑,也可以是絕對路徑。在這種情況下,首先將文件從本地復制到hdfs相應的位置,然后移動到hive表格中,這個時候原始數(shù)據(jù)文件是存在于Hive表之下的路徑下。

  • 如果不包含LOCAL關鍵字,則移動HDFS文件到目標表中。

  • filepath 可以是一個相對路徑,也可以是一個絕對路徑??梢允且粋€文件,也可以是一個文件夾目錄。如果是一個目錄,這個時候文件夾下的所有文件都會被加載。

  • 命令中如果帶有overwirte,代表加載數(shù)據(jù)之前會清空目標表格,否則就是追加的方式。

  • 如果表是分區(qū)表則必須指定PARTITION從句,否則會報如下錯誤:
    FAILED:SemanticException [Error 10062]: Need to specify partition columns because the destination table is partitioned

二、load語句示例

  • 創(chuàng)建如下的表結(jié)構(gòu)(員工表)

create table emp
(empno int,
ename string,
job string,
mgr int,
hiredate string,
sal int,
comm int,
deptno int)
row format delimited fields terminated by ',';
  • 測試數(shù)據(jù)如下:(emp.csv)

7369,SMITH,CLERK,7902,1980/12/17,800,0,20
7499,ALLEN,SALESMAN,7698,1981/2/20,1600,300,30
7521,WARD,SALESMAN,7698,1981/2/22,1250,500,30
7566,JONES,MANAGER,7839,1981/4/2,2975,0,20
7654,MARTIN,SALESMAN,7698,1981/9/28,1250,1400,30
7698,BLAKE,MANAGER,7839,1981/5/1,2850,0,30
7782,CLARK,MANAGER,7839,1981/6/9,2450,0,10
7788,SCOTT,ANALYST,7566,1987/4/19,3000,0,20
7839,KING,PRESIDENT,-1,1981/11/17,5000,0,10
7844,TURNER,SALESMAN,7698,1981/9/8,1500,0,30
7876,ADAMS,CLERK,7788,1987/5/23,1100,0,20
7900,JAMES,CLERK,7698,1981/12/3,950,0,30
7902,FORD,ANALYST,7566,1981/12/3,3000,0,20
7934,MILLER,CLERK,7782,1982/1/23,1300,0,10
  • 加載HDFS的數(shù)據(jù)到Hive的表

load data inpath '/scott/emp.csv' into table emp;
  • 加載本地的數(shù)據(jù)到Hive的表

load data local inpath '/root/temp/emp.csv' into table emp;

當然我們也可以使用insert語句加載數(shù)據(jù)。例如,我們創(chuàng)建如下的分區(qū)表:

create table emp_part_1
(empno int,
ename string,
job string,
mgr int,
hiredate string,
sal int,
comm int)
partitioned by (deptno int)
row format delimited fields terminated by ',';

使用insert語句將數(shù)據(jù)插入到對應的分區(qū)上。

插入10號部門的員工數(shù)據(jù)
insert into table emp_part_1 partition(deptno=10) 
select empno,ename,job,mgr,hiredate,sal,comm from emp where deptno=10;
插入20號部門的員工數(shù)據(jù)
insert into table emp_part_1 partition(deptno=20) 
select empno,ename,job,mgr,hiredate,sal,comm from emp where deptno=20;
插入30號部門的員工數(shù)據(jù)
insert into table emp_part_1 partition(deptno=30) 
select empno,ename,job,mgr,hiredate,sal,comm from emp where deptno=30;

這里我們使用了一個子查詢查詢出了對應部門的員工數(shù)據(jù),再使用insert語句插入到對應的分區(qū)上。

以上是“如何在Hive中使用Load語句加載數(shù)據(jù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道!


分享名稱:如何在Hive中使用Load語句加載數(shù)據(jù)-創(chuàng)新互聯(lián)
文章位置:http://weahome.cn/article/dcesgg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部