溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL-Hive中常用的表格操作是什么

發布時間:2021-07-07 16:53:45 來源:億速云 閱讀:146 作者:chen 欄目:數據庫

本篇內容主要講解“SQL-Hive中常用的表格操作是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“SQL-Hive中常用的表格操作是什么”吧!

01-最基礎的建表語句

Hive建表的全部建表語法如下:

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] 表名 (列名 data_type [COMMENT 列注釋], ...) [COMMENT 表注釋] [PARTITIONED BY (列名 data_type [COMMENT 列注釋], ...)] [CLUSTERED BY (列名, 列名, ...)  [SORTED ,BY (列名 [ASC|DESC], ...)] INTO num_buckets BUCKETS] [ROW FORMAT row_format] [STORED AS file_format] [LOCATION hdfs_path]

所有[ ]中的內容都是可選項,即可有可無,下面我們分別詳細介紹。

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] 表名

(列名 data_type)

是建表語句必須有的,舉個例子,我們要建立一個用戶啟動表:

CREATE TABLE t_od_use_cnt (       date_8 INT       ,platform string       ,app_version string       ,user_id BIGINT       ,use_cnt INT       ,is_active TINYINT       );

首先我們建一個庫app,然后使用并在其中建表,執行效果如下:

hive> create database app; OK Time taken: 0.899 seconds hive> use app; OK Time taken: 0.03 seconds hive> create table t_od_use_cnt(     >       date_8 int     >       ,platform string     >       ,app_version string     >       ,user_id bigint     >       ,use_cnt int     >       ,is_active tinyint     >       ); OK Time taken: 0.389 seconds

備注:Hive中的關鍵字大小寫是不區分的,所有關鍵字均可使用小寫。

02-查看表結構

執行語句:

DESC 表名;

查詢上一步新建表的字段及字段對應的數據類型,運行效果如下:

hive> desc t_od_use_cnt; OK date_8                int                                    platform              string                     app_version           string                               user_id               bigint                                use_cnt               int                                is_active             tinyint                                Time taken: 0.28 seconds, Fetched: 6 row(s)

03-刪除表

刪除表的語句和刪除庫的類似,只是把database換成了table,都是使用drop關鍵字進行刪除操作,慎重操作:

DROP TABLE 表名;

04-建分區表

Hive中有分區表的概念,分區表改變了Hive對數據存儲的組織方式。查詢時如果我們限定了分區范圍,Hive就可以直接去相應的目錄下查詢數據,而不需要掃描整個表,所以當數據量很大時可以顯著提高查詢性能。

建立分區表要使用關鍵字[PARTITIONED BY (col_name data_type[COMMENT col_comment], ...)]  ,注意分區的字段不可在普通字段中重復出現。分區表在工作中十分常見,一般來說公司所有的表都會以日期進行分區,以便提高查詢效率。

我們還是以t_od_use_cnt為例,建表語句如下:

CREATE TABLE t_od_use_cnt (       platform string comment '平臺 android,ios'       ,app_version string comment 'app版本'       ,user_id BIGINT comment '用戶id'       ,use_cnt INT comment '當日使用次數'       ,is_active TINYINT comment '是否活躍'       ) partitioned BY (date_8 INT comment '日期');

05-查詢既有建表語句

在公司中需要查詢既有表的建表格式時使用以下語句即可:

show create table tablename;

查詢上文已建表格效果如下:

hive> show create table t_od_use_cnt; OK CREATE TABLE `t_od_use_cnt`(   `platform` string COMMENT '平臺 android,ios',    `app_version` string COMMENT 'app版本,',    `user_id` bigint COMMENT '用戶id',    `use_cnt` int COMMENT '當日使用次數',    `is_active` tinyint COMMENT '是否活躍') PARTITIONED BY (    `date_8` int COMMENT '日期') ROW FORMAT DELIMITED    FIELDS TERMINATED BY ','  STORED AS INPUTFORMAT    'org.apache.hadoop.mapred.TextInputFormat'  OUTPUTFORMAT    'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION   'hdfs://hadoop:9000/usr/hive/warehouse/t_od_use_cnt' TBLPROPERTIES (   'transient_lastDdlTime'='1556161316')

到此,相信大家對“SQL-Hive中常用的表格操作是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女