自慰套教室~女子全员妊娠,精品无码国产自产拍在线观看蜜桃,亚洲国产精品成人精品无码区,久别的草原在线看视频免费

集團站切換校區

驗證碼已發送,請查收短信

復制成功
微信號:togogoi
添加微信好友, 詳細了解課程
已復制成功,如果自動跳轉微信失敗,請前往微信添加好友
打開微信
圖標

業界新聞

當前位置:首頁 > >業界新聞 > >

大數據培訓_HIve常用的基本語句總結

發布時間: 2019-06-27 14:54:58

  大數據培訓_HIve常用的基本語句總結

  本次記錄hive當中最常用的一些語句,助你在hive操作能快速入手。通過常用的SQL語句能對Hive更加理解。本次實例都是一些針對表的管理。包括外部表,內部表,分區表,分桶表。

?大數據培訓

簡單的hive sql語句

  #查詢數據庫
  show databases;
  #查詢表
  show tables;
  #使用數據庫
  use database_name;
  #查看表結構
  desc table_name;
  #刪除表
  drop table table_name;

創建表

格式:

  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] 
  [LOCATION hdfs_path]

  ?# 字段解釋:
  ?[external] # 申明是否為外部表

  ?[if not exists] # 如果表存在,則不創建了

  ?[(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] # 在clustered by 里的字段上建立 num_buckets個桶,記錄是由 sorted by里的字段排序的。

  ?[ROW FORMAT row_format] # 指定分隔符,可以是以下幾個:
        : DELIMITED [FIELDS TERMINATED BY char] 
                    [COLLECTION ITEMS TERMINATED BY char] 
                    [MAP KEYS TERMINATED BY char] 

  ?[STORED AS file_format] # 指定load文件的類型,分為:
            textfile 是 純文本文件
            sequence 是 壓縮文件

  ?[LOCATION hdfs_path] # 向表里加載數據,hdfs_path是一個hdfs上的目錄,不能是文件,hive會依據默認配置的hdfs路徑,自動將整個目錄下的文件都加載到表中。

?案例實操

(1)普通創建表

?  create table if not exists student2(
  id int, name string
  )
  row format delimited fields terminated by '\t'
  stored as textfile
  location '/user/hive/warehouse/student2';

(2)根據查詢結果創建表(查詢的結果會添加到新創建的表中)??

  create table if not exists student3
  as select id, name from student;

(3)根據已經存在的表結構創建表??

  create table if not exists student4 like student;?

(4)查詢表的類型
  hive (default)> desc formatted student2;
  Table Type: MANAGED_TABLE

?外部表
1)理論
因為表是外部表,所有 Hive 并非認為其完全擁有這份數據。 刪除該表并不會刪除掉這份數據,不過描述表的元數據信息會被刪除掉。
2)管理表和外部表的使用場景:
每天將收集到的網站日志定期流入 HDFS 文本文件。在外部表(原始日志表)的基礎上做大量的統計分析,用到的中間表、結果表使用內部表存儲,數據通過 SELECT+INSERT進入內部表

使用復雜類型創建表?

  create external table if not exists T2(
  ?    id int,
  ?    course array<string>,
  ?    score  map<string,int>
  ?)
  ?row format
  ?delimited fields terminated by ',' 
  ?          collection items terminated by '|'
  ?          map keys terminated by ':'
  ?stored as textfile;
  ?# 數據文件內容
  ?1001,語文|數學|英語,語文|56,語文:102|數學:2033|英語:30
  ?1002,語文|數學|英語,語文|156,語文:120|數學:2033|英語:30
  ?1003,語文|數學|英語,語文|1156,語文:210|數學:3320|英語:30
  ?1004,語文|數學|英語,語文|1156,語文:2210|數學:203|英語:30
  ?1005,語文|數學|英語,語文|5116,語文:22210|數學:230|英語:30
  ?# 導入數據文件
  ?load data local inpath '/home/datanode/hiveTest/test01' overwrite  into table t2;

創建一個帶分區的內部表?

  create table if not exists T3(
  ?    id int,
  ?    name string
  ?)
  ?partitioned by (classid int)
  ?row format
  ?delimited fields terminated by ','
  ?stored as textfile;

?創建一個帶桶的內部表?

  create table T4(
  ?    id int ,
  ?    name string,
  ?    sex string,
  ?    age int
  ?)
  ?partitioned by (city string)
  ?clustered by(age) sorted by(name) into 5 buckets
  ?row format 
  ?delimited fields terminated by ','
  ?stored as textfile;

以上是hive針對表進行操作。請把每一個實例做個筆記。方便日??焖僬业?。

上一篇: Python培訓方面的一些基本知識

下一篇: Java的基本常識及Java培訓后的就業前景

在線咨詢 ×

您好,請問有什么可以幫您?我們將竭誠提供最優質服務!

<蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>