1. 程式人生 > >Hive中如何建立內部表和外部表以及它們的區別

Hive中如何建立內部表和外部表以及它們的區別

1.內部表(也稱為管理表)的建立:

create table if not exists student(
id int,
name string,
age int
)
row  format delimited fields terminated by '\t';
//載入HDFS檔案到Hive表中
load data inpath '/home/user/hive.txt' into table dept;
if not exists 可加可不加

//用來指定原檔案的列分隔符
row  format delimited fields terminated by '\t';
load 如果操作的HDFS上的檔案,代表著會移動或者剪下檔案


desc formatted dept;  //描述表結構資訊
Location:           hdfs://com.qiyu02:8020/user/hive/warehouse/person.db/student 
Table Type:         MANAGED_TABLE
2.外部表的建立
create  external table emp(
empno int,
empname string,
empjob string,
mgno int,
birthday string,
salary float,
bonus float,
depno int
)
row  format delimited fields terminated by '\t'
location '/input/demo';
//描述表結構
desc formatted emp;
Location:           hdfs://com.qiyu02:8020/input/demo 
Table Type:         EXTERNAL_TABLE 

內部表和外部表的區別:
建立表
外部表建立表的時候,不會移動數到資料倉庫目錄中(/user/hive/warehouse),只會記錄表資料存放的路徑
內部表會把資料複製或剪下到表的目錄下


刪除表
外部表在刪除表的時候只會刪除表的元資料資訊不會刪除表資料
內部表刪除時會將元資料資訊和表資料同時刪除

相關推薦

Hive如何建立內部外部以及它們區別

1.內部表(也稱為管理表)的建立: create table if not exists student( id int, name string, age int ) row format

hive的三板斧:內部外部、分割槽分桶以及序列化/反序列化(SerDe)

hive的三板斧:內部表和外部表、分割槽和分桶以及序列化/反序列化(SerDe)   Hive是Hadoop生態圈中實現資料倉庫的一項技術。雖然Hadoop和HDFS的設計侷限了Hive所能勝任的工作,但是Hive仍然是目前網際網路中最適合資料倉庫的應用技術。 不論從“品相還是舉止

Hive面試題:Hive 內部外部區別

建立外部表多了external關鍵字說明以及location path. Hive中表與外部表的區別: 1、在匯入資料到外部表,資料並沒有移動到自己的資料倉庫目錄下,也就是說外部表中的資料並不是由它自己來管理的!而表則不一樣; 2、在刪除表的時候,Hive將會把屬於表的元資料和資料全

Hive內部外部

官網解釋: Managed and External Tables By default Hive creates managed tables, where files, metadata and statistics are managed by internal Hive process

hive內部外部區別

內部表:    1:內部表也稱為MANAGED_TABLE    2:內部表預設儲存在/user/hive/warehouse下面    3:(1)從hdfs往內部表載入資料:load data in

hive 分割槽、桶外部

1:分割槽表      圖:建立分割槽表       圖:匯入資料         圖:在HDFS的顯示資訊 分割槽欄位就是一個資料夾的標識      圖:在多列上建立分割槽       圖:匯入資料                  圖:在多列上建立分割槽後

Android內部儲存外部儲存以及快取清理記憶體清理!

android內部的儲存結構和路徑獲取方法:清除本地資料和快取:計算快取和記憶體資料的大小:計算快取大小以及刪除的方法:這文章裡面的檔案刪除方法有一些問題:沒有迴圈是資料夾的刪除方法;另外:File.list(); 獲取的是該資料夾下的所有子檔案的相對路徑;File.list

一起學Hive——建立內部外部、分割槽分桶及匯入資料

Hive本身並不儲存資料,而是將資料儲存在Hadoop的HDFS中,表名對應HDFS中的目錄/檔案。根據資料的不同儲存方式,將Hive表分為外部表、內部表、分割槽表和分桶表四種資料模型。每種資料模型各有優缺點。通過create user命令建立user表時,會在HDFS中生成一個user目錄/檔案。 外部表

Hive 內部外部區別建立方法

先來說下Hive中內部表與外部表的區別:1)建立表時:建立內部表時,會將資料移動到資料倉庫指向的路徑;若建立外部表,僅記錄資料所在的路徑,不對資料的位置做任何改變。 2)刪除表時:在刪除表的時候,內部表的元資料和資料會被一起刪除,而外部表只刪除元資料,不刪除資料。這樣外部表

hive管理內部外部的區別是什麼,及分割槽使用場景

⑴區別: ①Hive建立內部表時(預設建立內部表),會將資料移動到資料倉庫指向的路徑;建立外部表(需要加關鍵字external),僅記錄資料所在的路徑,不對資料的位置做任何改變; ⑵Hive刪除表時,內部表的元資料和資料會被一起刪除,而外部表只刪除元資料,不刪除資料;

Hive內部外部、分割槽以及外部分割槽建立以及匯入資料例項講解

源資料格式: [[email protected]144113 zhang_dd_edw]$ more data.txt 25502#hdfs://ns1/user/dd_edw/adm.db/adm_dealer_order_list_di_big/dt=2015-07-

hive建立hbase內部外部

操作hbase,hive建連線,impala操作hbase查詢 1.進入hbase命令:hbase shell 2.建表    create ‘test’,‘c f’: 建表時必須指定表名和列族名    list  :列舉表資訊,(

hive建立HBase外部

2012-07-19 http://abloz.com author:周海漢 date:2012.7.19 HBase查詢award表 hbase(main):003:0> scan 'award' ,LIMIT=

hive內部外部建立

最近才接觸Hive。學到了一些東西,就先記下來,免得以後忘了。 1.建立表的語句:Create [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], .

Oracle手動建立empdept

以下的gw為使用者名稱,把gw改成自己的使用者名稱即可使用 CREATE TABLE gw.DEPT ( DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY, DNAME VARCHAR2(14), LOC VARCHAR2(13) ); CREATE T

Hive 內部外部

Hive中的表又分為內部表和外部表 ,Hive 中的每張表對應於HDFS上的一個資料夾,HDFS目錄為:/user/hadoop/hive/warehouse/[databasename.db]/table 內部表 建立語句 這裡我們採用從之前表中複製表結構和資料 creat

Hive概述、內部外部、分割槽的操作

Hive概述、內部表、外部表、分割槽表的操作 一、Hive概述   Hive是基於Hadoop的一個數據倉庫工具。可以將結構化的資料檔案對映為一張資料庫表,並提供完整的sql查詢功能,可以將sql語句轉換為MapReduce任務進行執行。   Hive是建立在 Hadoop 上的資料倉庫

hive內部外部

先建立一個內部表: 建表語句-進入hive命令列輸入: create table t1( id int ,name string ,hobby array<string> ,add map<String,string

hive內部&外部介紹

未被external修飾的是內部表(managed table),被external修飾的為外部表(external table);區別:內部表資料由Hive自身管理,外部表資料由HDFS管理;內部表資料儲存的位置是hive.metastore.warehouse.dir(預設:/user/hive/ware

hive建立命令

情況1:設定分割槽: DROP TABLE IF EXISTS adm_investor_activity; CREATE TABLE IF NOT EXISTS adm_investor_activity( investor_id bigint comment '投資人id'