hive 建立訪問使用者 Hive基本簡介和基礎語句

2021-10-13 17:09:41 字數 3444 閱讀 7748

1、hive基本概念

hive基於hadoop的乙個資料倉儲工具:

1、基本資料型別

2、複雜資料型別

1、建立資料庫

【語法】

create (databeas[schema]) [if not exists] database_name

[comment database_comment]

[location hdfs_path]

[with dbproperities (property_name=propery_value,...)];

【例子】

create database myhive

comment '測試庫';

2、使用資料庫【語法】

use database_name;
【示例】

(1)檢視資料庫:show databases;

(2)使用資料庫:use myhive;

3、刪除資料庫

【語法】

drop (database|schema) (if not exists) database_name [restrict|ascade];
ascade強制刪除資料庫4、建立資料表(1)直接建表法

create table t1(

​ id int,

​ name string,

​ hobby array

​ add map

​ row format delimited

fields items termimated by ',' # 按逗號分割

​ collection items terminated by '-'

​ map keys terminated by ':' # map型別通過:分割

​ )

(2)查詢建表法

create table t2 as

select id,

​ name

from t1;

(3)like建表法 只會把表結構複製過去,但是不會複製表內的資料

create table empty_key_value_store

like key_value_store

5、修改表(1)修改表名

alter table old_name rename to new_name;
(2)修改列名

alter table name char column_name new_name new_type;
(3)增加列

alter table emp add columns(age int);
6、刪除表

drop table [if not exists] table_name [pureg];
7、匯入資料

load data [local] inpath 'filepath' [overwrite] into table tablename partition (partcol1=val1,partcol2=val2...)
(1)從本地匯入到hive表

load data local inpath '/home/hadoop/haha.txt' into table t1;
(2)從hdfs匯入到hive表

load data inpath '/test' into table t1;
8、匯出資料(1)儲存到本地

insert overwrite local directory '/home/hadoop/' select * from t1;
(2)儲存到hdfs

insert overwrite directory '/abc' select * from t1;
(1)內部表:內部表建立的時候,在hdfs上面也會建立乙個目錄,刪除的時候會把hdfs上面的資料也一併刪除,故不常用。

(2)外部表:外部表建立的時候,在hdfs上面也會建立乙個目錄,刪除的時候只會刪除表的元資料和結構,而不會刪除hdfs上面的資料。

create external table t1(

​ id int,

​ name string )

row format delimited

fields termimated by ',';

(3)分割槽表:hive中沒有索引,導致查詢速度很慢,如果不設定分割槽,則每次查詢會全表掃瞄。

cretae table logs(

​ ts int,

​ line string)

parttional by(dt string,country string);

(4)檢視分割槽

show partitions 表名

hive 建立訪問使用者 你了解HIVE架構嗎?

1.hive定義 hive是基於hadoop的乙個資料倉儲工具,可以將結構化的資料檔案對映為一張資料庫表,並提供簡單的sql查詢功能,可以將sql語句轉換為mapreduce任務進行執行。其優點是學習成本低,可以通過類sql語句快速實現簡單的mapreduce統計,不必開發專門的mapreduce應...

hive創標 hive建立表

一 為什麼要建立分割槽表 1 select查詢中會掃瞄整個表內容,會消耗大量時間。由於相當多的時候人們只關心表中的一部分資料,故建表時引入了分割槽概念。2 hive分割槽表 是指在建立表時指定的partition的分割槽空間,若需要建立有分割槽的表,需要在create表的時候呼叫可選引數partit...

hive 建立索引

索引是hive0.7之後才有的功能,建立索引需要評估其合理性,因為建立索引也是要磁碟空間,維護起來也是需要代價的 create index idx user phone on table user phone with phone message user phone as org.apache.h...