2.5 Hive中外部表的讲解
生活随笔
收集整理的這篇文章主要介紹了
2.5 Hive中外部表的讲解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、外部表
1、hive中表的類型
管理表
托管表(外部表)
#內部表 >內部表也稱之為MANAGED_TABLE; >默認存儲在/user/hive/warehouse下,也可以通過location指定; >刪除表時,會刪除表數據以及元數據;外部表 >外部表稱之為EXTERNAL_TABLE; >在創建表時可以自己指定目錄位置(LOCATION); >刪除表時,只會刪除元數據不會刪除表數據;Managed Table這種表也被稱作Internal Table.這是Hive中的默認的類型.如果你在創建表的時候沒有指明Managed或者External, 那么默認就會給你創建Managed Table. Managed Table的數據,會存放在HDFS中的特定的位置中,通常 是/user/hduser/hive/warehouse.當然,也不一定,看你的Hive的配置文件中是如何配置的.External Table External Table特別適用于想要在Hive之外使用表的數據的情況,比如多個部門想使用一個表的數據;查看表的類型:
hive (default)> desc formatted dept ; #查看其中的 Table Type字段2、創建一個外部表
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、創建一個外部表
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數據
表結構定義好,數據直接放到表的目錄下面就可以;
#直接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)轉載于:https://www.cnblogs.com/weiyiming007/p/10751108.html
總結
以上是生活随笔為你收集整理的2.5 Hive中外部表的讲解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring AOP capabilit
- 下一篇: SSH框架的优势?