2.5 Hive中外部表的讲解
生活随笔
收集整理的這篇文章主要介紹了
2.5 Hive中外部表的讲解
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、外部表
1、hive中表的類型
管理表
托管表(外部表)
#內(nèi)部表 >內(nèi)部表也稱之為MANAGED_TABLE; >默認(rèn)存儲在/user/hive/warehouse下,也可以通過location指定; >刪除表時(shí),會(huì)刪除表數(shù)據(jù)以及元數(shù)據(jù);外部表 >外部表稱之為EXTERNAL_TABLE; >在創(chuàng)建表時(shí)可以自己指定目錄位置(LOCATION); >刪除表時(shí),只會(huì)刪除元數(shù)據(jù)不會(huì)刪除表數(shù)據(jù);Managed Table這種表也被稱作Internal Table.這是Hive中的默認(rèn)的類型.如果你在創(chuàng)建表的時(shí)候沒有指明Managed或者External, 那么默認(rèn)就會(huì)給你創(chuàng)建Managed Table. Managed Table的數(shù)據(jù),會(huì)存放在HDFS中的特定的位置中,通常 是/user/hduser/hive/warehouse.當(dāng)然,也不一定,看你的Hive的配置文件中是如何配置的.External Table External Table特別適用于想要在Hive之外使用表的數(shù)據(jù)的情況,比如多個(gè)部門想使用一個(gè)表的數(shù)據(jù);查看表的類型:
hive (default)> desc formatted dept ; #查看其中的 Table Type字段2、創(chuàng)建一個(gè)外部表
hive (default)> create EXTERNAL table IF NOT EXISTS default.emp_ext(> empno int,> ename string,> job string,> mgr int,> hiredate string,> sal double,> comm double,> deptno int> )> ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'; OK Time taken: 0.032 seconds二、例子
1、創(chuàng)建一個(gè)外部表
hive (default)> create EXTERNAL table IF NOT EXISTS default.emp_ext2(> empno int,> ename string,> job string,> mgr int,> hiredate string,> sal double,> comm double,> deptno int> )> ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'> location '/user/root/hive/warehouse/emp_ext2'; OK Time taken: 0.036 seconds2、copy數(shù)據(jù)
表結(jié)構(gòu)定義好,數(shù)據(jù)直接放到表的目錄下面就可以;
#直接put到HDFS里面 hive (default)> dfs -put /opt/datas/emp.txt /user/root/hive/warehouse/emp_ext2;hive (default)> dfs -ls -R /user/root/hive/warehouse/emp_ext2; -rw-r--r-- 1 root supergroup 659 2019-04-22 16:33 /user/root/hive/warehouse/emp_ext2/emp.txt#查詢 hive (default)> select * from default.emp_ext2; OK emp_ext2.empno emp_ext2.ename emp_ext2.job emp_ext2.mgr emp_ext2.hiredate emp_ext2.sal emp_ext2.comm emp_ext2.deptno 7369 SMITH CLERK 7902 1980-12-17 800.0 NULL 20 7499 ALLEN SALESMAN 7698 1981-2-20 1600.0 300.0 30 7521 WARD SALESMAN 7698 1981-2-22 1250.0 500.0 30 7566 JONES MANAGER 7839 1981-4-2 2975.0 NULL 20 7654 MARTIN SALESMAN 7698 1981-9-28 1250.0 1400.0 30 7698 BLAKE MANAGER 7839 1981-5-1 2850.0 NULL 30 7782 CLARK MANAGER 7839 1981-6-9 2450.0 NULL 10 7788 SCOTT ANALYST 7566 1987-4-19 3000.0 NULL 20 7839 KING PRESIDENT NULL 1981-11-17 5000.0 NULL 10 7844 TURNER SALESMAN 7698 1981-9-8 1500.0 0.0 30 7876 ADAMS CLERK 7788 1987-5-23 1100.0 NULL 20 7900 JAMES CLERK 7698 1981-12-3 950.0 NULL 30 7902 FORD ANALYST 7566 1981-12-3 3000.0 NULL 20 7934 MILLER CLERK 7782 1982-1-23 1300.0 NULL 10 Time taken: 0.029 seconds, Fetched: 14 row(s)轉(zhuǎn)載于:https://www.cnblogs.com/weiyiming007/p/10751108.html
總結(jié)
以上是生活随笔為你收集整理的2.5 Hive中外部表的讲解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring AOP capabilit
- 下一篇: SSH框架的优势?