Hive中庫和表的常見操作

2022-06-05 15:45:09 字數 1957 閱讀 9541

目錄

表的常見操作

create (database|schema) [if not exists] database_name

[comment database_comment] // 庫的注釋說明

[location hdfs_path] // 庫在hdfs上的路徑

[with dbproperties (property_name=property_value, ...)]; // 庫的屬性

create database if not exists mydb2

comment 'this is my db'

location 'hdfs://hadoop101:9000/mydb2'

with dbproperties('ownner'='jack','tel'='12345','department'='it');

drop database 庫名: 只能刪除空庫

drop database 庫名 cascade: 刪除非空庫

use 庫名: 切換庫

dbproperties: alter database mydb2 set dbproperties('ownner'='tom','empid'='10001');

同名的屬性值會覆蓋,之前沒有的屬性會新增

show databases: 檢視當前所有的庫

show tables in database: 檢視庫中所有的表

desc database 庫名: 檢視庫的描述資訊

desc database extended 庫名: 檢視庫的詳細描述資訊

create [external] table [if not exists] table_name 

[(col_name data_type [comment col_comment], ...)] //表中的字段資訊

[comment table_comment] //表的注釋

[partitioned by (col_name data_type [comment col_comment], ...)]

[clustered by (col_name, col_name, ...)

[sorted by (col_name [asc|desc], ...)] into num_buckets buckets]

[row format row_format] // 表中資料每行的格式,定義資料欄位的分隔符,集合元素的分隔符等

[stored as file_format] //表中的資料要以哪種檔案格式來儲存,預設為textfile(文字檔案)

可以設定為sequncefile或 paquret,orc等

[location hdfs_path] //表在hdfs上的位置

外部表和內部表的區別是:

在企業中,建立的都是外部表!在hive中表是廉價的,資料是珍貴的!

建表語句執行時:

管理表和外部表之間的轉換:

將表改為外部表:

alter table p1 set tblproperties('external'='true');
將表改為管理表:

alter table p1 set tblproperties('external'='false');
注意:在hive中語句中不區分大小寫,但是在引數中嚴格區分大小寫!

drop table 表名:刪除表

desc  表名: 檢視表的描述

desc formatted 表名: 檢視表的詳細描述

hive表的常見操作

一 建立表 1 建立外部表 create external table ad rule result source string comment entity type int comment partitioned by day string,hour string row format deli...

Hive的資料庫和表操作

一 hive資料庫操作 1.1 檢視資料庫 show databases 使用like關鍵字模糊匹配 顯示包含db 字首的資料庫名稱 show databases like db 1.2 使用資料庫 use database名稱1.3 建立資料庫 create database dbname 通過l...

HIVE中的表操作

1.內部表 2.外部表 3.分割槽表 4.分通表 擴充套件 臨時表 只有在程序中有效 程序結束 表所有資料刪除 與內部表類似 show databases 檢視資料庫 show tables 檢視表 use 資料庫名 進入資料庫 drop 資料庫名 刪除資料庫 drop 表名 刪除表 內部表建立的方...