hive的指令操作以及內外臨時表的的建立

2021-09-26 20:48:04 字數 3818 閱讀 8740

**:

3、drop databases  if exists  mybase //刪除資料庫

4、show tables //顯示表

5、create  database  mybase //mysql 建立庫

6、create table test(id int ,name varchar(20)); //建立列表

7、select id from test        //檢視表中的內容

8、兩張表合成:select a.*,b.* form tbls a,columms_v2 b where a.tbl_id = b.tbl_id 

9、show databases; //顯示資料庫

10、在/soft/hive/bin/下執行:hive 後再執行:create database if not exists mybase;

11、用自己的庫的話就執行:use mybase ;   ------>記得加分號

show tables; ——————》顯示表資訊

12、建立表:create table test(id int , name varchar(20));

13、檢視表的結構:desc test

14、往資料庫裡面放資料:insert into test(id,name)values(1,'tom');

15、select * form test      //檢視表中所有的內容

具體流程是:建立庫:create database mysbase ------>用那個庫use mybase  ------->建立表create table test(id int ,name varchar(20))

表的填寫資訊及建立語法:

1、create  table if not exists employee(edi int ,nam string,salary string, destination string)

2、comment 『employee details』

4、 row format delimited  fields terminated by 『\t』  //這行的格式分隔如何 :(1  tom  12 )

5、lines terminated by 『\n』 //換行1  tom  12

2  tod  13

6、stored as textfile;   //儲存為文字檔案

dfs -lsr / ; //檢視它們的目錄結構

desc[ribe] database mybase ; //檢視資料庫資訊

alter database mybase set dbproperties ('created'='xpc'); //修改資料庫,增加資料庫屬性

desc database extended mybase ; //顯示資料庫擴充套件資訊,不能格式化輸出

desc extended default.test0 ; //顯示表擴充套件資訊

desc formatted default.test0 ; //顯示**式化資訊

desc extended test ; //顯示表的擴充套件資訊

create database mybase location '/x/x/x/x' //指定資料庫存放hdfs位置

create table default.test0 like mybase.test2 ; //複製表結構

load data local ... //上傳本地檔案到hdfs

load data '/x/x/x' into table xx //移動hdfs檔案系統上的資料檔案。

insert into mybase.test2 select * from default.test0 where id > 1204 ; //複製表資料

create table mybase.test3 as select * from default.test0 ; //複製表(表結構 + 資料)

select all id,name from test2 ; //查詢所有記錄(不去重)

select distinct id,name from test2 ; //查詢所有記錄(去重)

拷貝一張已經存在的表模式

create table if ont exists mydb.employees2 like mydb.employees

load data local inpath '/home/user/sample.txt' overwrite into table tset;

外部表的建立步驟:

1、create database mybase ;  //建立庫

2、use  mybase  ;          //用庫

3、create external table etest(id int ,name string,age int) row format delimited fields terminated by '\t' stored as textfile ;//建立外部表

4、檢視表的引數: desc formatted etest ; 檢視有 多少張表:show tables  看錶的結構select * from etest ;

5、建立臨時表create tempporary table temp(id int ,name string,age int) row format delimited fields terminated by '\t' stored as textfile ;

6、ctas:create table as select 

7、truncate  :刪除所有的行,只能用於內部的表

8、修改表分隔符:alter table table_name set serdeproperties (『field,delimi』= ',')

9、修改表的位置:alter table 表名 set location 'hdfs:/***/x/表名'

分割槽表[手動分割槽--靜態分割槽]

1.預先定義分割槽列和儲存資料到表的子目錄下。

2.建立分割槽表

create table ***(...) partitioned by (year int ,month int) row format ...;

3.給分割槽表新增多個分割槽(手動分割槽)

alter table partest add partition (year=2016,month=4) partition (year=2016,month=5);

4.顯示指定表的分割槽

show partitions partest ;

5.刪除分割槽

alter table partest drop if exists partition (year=2014, month=11);

6.載入資料到指定的分割槽目錄下。

load data local inpath '..sample.txt' overwrite into table partest partition (year=2016, month=4);

單是查詢2023年4月份的資料:select * from  表名 where year=2016 and month = 4 ;

7.啟動動態分割槽(預設是開啟的)

set hive.exec.dynamic.partition=true; //啟動動態分割槽.

//預設是strict,是嚴格模式,至少要指定乙個分割槽類,通過如下指令關閉嚴格模式。

set hive.exec.dynamic.partition.mode=nonstrict; //設定分割槽模式,非嚴格.

8.測試動態分割槽

insert into table partest partition(year,month) select id,name,age,year,month from test ;

hive中內 外部表以及修改表操作

hive是基於hadoop的乙個資料倉儲工具,用來進行資料提取 轉化 載入。hive資料倉儲工具能將結構化的資料檔案對映為一張資料庫表,並提供sql查詢功能,能將sql語句轉變成mapreduce任務來執行。hive的資料表分為內部表跟外部表。hdfs中為所屬資料庫目錄下的子資料夾。資料完全由hiv...

hive基本操作指令

create table mytable id int,name string row format delimited fields terminated by t stored as textfile 附 mytable是表名 id int是引數名字和引數型別 as textfile是代 式,可...

ubuntu常用指令以及操作

安裝包命令 安裝deb包 deb是debian linus的安裝格式,跟red hat的rpm非常相似,最基本的安裝命令是 dpkg i file.deb dpkg 是debian package的簡寫,是為debian 專門開發的套件管理系統,方便軟體的安裝 更新及移除。所有源自debian的li...