hive的sql學習筆記一

2021-09-24 12:32:50 字數 2613 閱讀 2039

1,建立表:

mysql裡是with as

hive建立表有三種方式:(詳情可見csdn的收藏)

hive裡是create table default.temp as (select * from)

create table if not exists table as 也可以不加括號。

hive建立臨時表:

表只對當前session有效,session退出後,表自動刪除。

語法:create temporary table ...

2,刪除表

drop table if exists cookie1;

3,hive裡的split函式。

select split(『ab_cd_ef』, 『_』)[0] from test;

會返回分割後的字串陣列

4,hive的正規表示式:

regexp_extract(str, regexp, idx)

str是被解析的字串或欄位名

regexp 是正規表示式

idx是返回結果 取表示式的哪一部分 預設值為1。

0表示把整個正規表示式對應的結果全部返回

1表示返回正規表示式中第乙個() 對應的結果 以此類推

5,hive讀取json字串

get_json_object(string json_string, string path)

第乙個引數填寫json物件變數,第二個引數使用$表示json變數標識,然後用 . 或 讀取物件或陣列;如果輸入的json字串無效,那麼返回null。

每次只能返回乙個資料項。

6,hive的替換字串:

replace ( string_replace1 , string_replace2 , string_replace3 )

引數解析:

string_replace1 待搜尋的字串表示式。string_replace1 可以是字元資料或二

進製資料

string_replace2 待查詢的字串表示式。string_replace2 可以是字元資料或二

進製資料。

string_replace3 替換用的字串表示式。string_replace3 可以是字元資料或二

進製資料。

字串型別引數:

select replace('abcdefg bcd','bcd','***')

結果為:a***efg ***

7,hive的替換函式還有:

regexp_replace函式。

8,hive的日期函式(詳細見csdn).

日期時間轉日期函式: to_date

語法: to_date(string timestamp)

返回值: string

說明: 返回日期時間欄位中的日期部分。

舉例:hive> select to_date(』2011-12-08 10:03:01′) from dual;

2011-12-08.

9,hive的字串拼接函式(具體見csdn)。

concat()函式用於將多個字串連線成乙個字串。

10,hive的字串擷取函式:

substr()是字串擷取函式,其語法為: substr(string a, int start, int len),返回值為 string型別。

說明:返回字串a從start位置開始,長度為len的字串。

這裡需要注意的是初始位置是從1開始。

11,hive的between函式。

between 操作符在 where 子句中使用,作用是選取介於兩個值之間的資料範圍。

可以是能比較大小的資料,可以是有順序的資料(如字母的順序)

如需以字母順序顯示介於 「adams」(包括)和 「carter」(不包括)之間的人。

13,hive的資料型別轉換。

cast (expression as data_type)

引數說明:

expression:任何有效的sqserver表示式。

as:用於分隔兩個引數,在as之前的是要處理的資料,在as之後是要轉換的資料型別。

data_type:目標系統所提供的資料型別,包括bigint和sql_variant,不能使用使用者定義的資料型別。

14,hive裡的時間字串可以比較大小。

16,hive的檢視。

lateral view為側檢視,意義是為了配合udtf來使用,把某一行資料拆分成多行資料.

不加lateral view的udtf只能提取單個字段拆分,並不能塞會原來資料表中.加上lateral view就可以將拆分的單個字段資料與原始表資料關聯上

17,hive的explode()函式,用於將選定字段展示開。

18,hive的coalesce()函式

①用途:

將空值替換成其他值

返回第乙個非空值

②表示式:

coalesce是乙個函式, (expression_1, expression_2, …,expression_n)依次參考各引數表示式,遇到非null值即停止並返回該值。

如果所有的表示式都是空值,最終將返回乙個空值。使用coalesce在於大部分包含空值的表示式最終將返回空值。

Hive 學習筆記 一

hive支援以下資料型別 有符號整數 bigint 8 位元組 int 4位元組 smallint 2位元組 tinyint 1位元組 浮點數 float double boolean flase true string map 無序鍵值對。鍵的型別必須是原子的,值可以是任意型別,同乙個對映的鍵的型...

Hive學習筆記 Hive 引數

第一部分 hive 引數 hive.exec.max.created.files 說明 所有hive執行的map與reduce任務可以產生的檔案的和 預設值 100000 hive.exec.dynamic.partition 說明 是否為自動分割槽 預設值 false hive.mapred.re...

Hive學習筆記 Hive概述

1.1 資料倉儲 可以利用資料倉儲來儲存我們的資料,但是資料倉儲有別於我們常見的一般資料庫。資料倉儲是乙個面向主題的 整合的 不可更新的 隨時間不變化的資料整合,它用於支援企業或組織的決策分析處理。物件導向的 倉庫中的資料是按照一定的主題進行組織的。主題即使用者使用資料倉儲進行決策時所關心的重點方面...