日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hive DDL操作

發布時間:2024/9/16 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hive DDL操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

DDL(Data Definition Language)

create,delete,alter
Hive數據抽象/結構
database(HDFS一個目錄)->table(HDFS一個目錄)->partition分區表(HDFS一個目錄)->bucket桶(HDFS一個文件)

數據庫操作

CREATE 創建數據庫

CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name[COMMENT database_comment][LOCATION hdfs_path][WITH DBPROPERTIES (property_name=property_value, ...)];

例如:CREATE DATABASE IF NOT EXISTS hive;;

如果想知道我們剛創建的hive庫存放在哪里,應該去對應的mysql中查看:

去HDFS中查看對應的位置:

刪除數據庫

DROP database hive;

如果這個庫中存在表,那么上面的語句會顯示無法刪除數據庫。如果要刪除表需要執行:
drop database hive CASCADE級聯刪除表,但是一定要慎用

創建數據庫時修改HDFS存儲路徑

CREATE DATABASE IF NOT EXISTS hive2 LOCATION '/test/location';將創建一個數據庫位于/test/location
首先確認在HDFS中對應的路徑是否存在,方便我們驗證:

然后執行創建語句:

然后在HDFS中查看:

查看數據庫的信息

使用命令desc database hive

創建數據庫時添加屬性

CREATE DATABASE IF NOT EXISTS hive3 WITH DBPROPERTIES('creator'='vincent');

查看詳細數據庫信息:

顯示當前正在操作的數據庫


select current_database();可以顯示當前正在使用的數據庫。
在hive中set KEY表示獲取到這個KEY的值,set KEY=VALUE表示設置這個KEY的值。

正則匹配數據庫

表操作

CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name -- (Note: TEMPORARY available in Hive 0.14.0 and later)[(col_name data_type [column_constraint_specification] [COMMENT col_comment], ... [constraint_specification])][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][SKEWED BY (col_name, col_name, ...) -- (Note: Available in Hive 0.10.0 and later)]ON ((col_value, col_value, ...), (col_value, col_value, ...), ...)[STORED AS DIRECTORIES][[ROW FORMAT row_format] [STORED AS file_format]| STORED BY 'storage.handler.class.name' [WITH SERDEPROPERTIES (...)] -- (Note: Available in Hive 0.6.0 and later)][LOCATION hdfs_path][TBLPROPERTIES (property_name=property_value, ...)] -- (Note: Available in Hive 0.6.0 and later)[AS select_statement]; -- (Note: Available in Hive 0.5.0 and later; not supported for external tables)

create 創建表

創建一張表:

CREATE TABLE emp( empno int, ename string, job string, mgr int, hiredate string, sal double, comm double, deptno int ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';

Hive加載csv文件數據時跳過第一行

在創建表時添加tblproperties(“skip.header.line.count”=”1”);到后面。

create table sales (transactionId int, customerId int, itemId int, amountPaid int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' tblproperties("skip.header.line.count"="1");

查看表信息以及詳細信息



這種方式不方便查看,常用的方式是desc formatted emp:

導入數據

LOAD DATA LOCAL INPATH '/home/' OVERWRITE INTO TABLE emp;導入本地的一個文件

表數據在HDFS中查看


進一步查看HDFS的文件內容:

跟本地的數據內容是一樣的。

修改表名

ALTER TABLE emp rename to emp2;查看HDFS中的數據:

總結

以上是生活随笔為你收集整理的Hive DDL操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。