欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:數據倉庫技術及應用

柚子快報激活碼778899分享:數據倉庫技術及應用

http://yzkb.51969.com/

1.Hive入門

主要內容:

數據倉庫的與傳統(tǒng)數據庫不同:

數據倉庫的數據規(guī)模大,數據更穩(wěn)定

Hive真實數據存儲格式:

TEXTFILE,文本文件

SEQUENCEFILE,二進制序列化過的文本存儲格式

RCFILE,面向列的數據存儲格式

ORCFILE,對RCFILE的優(yōu)化格式

Hive數據單元:

數據庫

表:有外部表和內部表,內部表由hive管理,外部表不由hive管理

分區(qū):用于提高查詢效率

分桶

Hive基本數據類型:

整數:TINYING,SMALLINT,INT,BIGINT

小數:F.LOAT,DOUBLE,DECIMAL;

文本:STRING,CHAR,VARCHAR

布爾:BOOLEAN

二進制:BINARY

時間:DATE,TIMESTAMP,INTERVAL(DATE:日期.TIMESETAMP:納秒級別的時間戳,INTERVAL:時間間隔)

Hive復雜數據類型:

ARRAY:同類型變量

MAP:鍵值對

STRUCT:一組有名字的任意基本類型字段

UNIONTYPE:類型JAVA泛型,任一時刻只有一種類型生效

Hive分區(qū)和分桶:

分區(qū)的目的:提高查詢性能

分桶的目的:提高分布式查詢的效率

分區(qū):PARTITIONED BY

分桶:CLUSTERED BY

Hive元數據:

DBS:存儲Hive中所有數據庫的基本信息

DATABASE_PARAMS:該表存儲數據庫的相關參數

TBLS:存儲Hive表、視圖、索引表的基本信息

TABLE_PARAMS:該表存儲表/視圖的屬性信息

Hive數據連接

內關聯(lián)([inner] join):只返回關聯(lián)上的結果

左關聯(lián)(left [outer] join):以左表為主

右關聯(lián)(right [outer] join):以右表為主

全關聯(lián)(full [outer] join):以兩個表的記錄為基準,返回兩個表的記錄去重之和,關聯(lián)不上的字段為NULL

Hive數據排序

order by(全局排序) order by會對輸入做全局排序,因此只有一個Reducer(多個Reducer無法保證全局有序),然而只有一個reducer,會導致當輸入規(guī)模較大時,消耗較長的計算時間 降序:desc 升序:asc 不需要指定,默認是升序

sort by(分區(qū)內排序) 不是全局排序,其在數據進入reducer前完成排序,也就是說它會在數據進入reduce之前為每個reducer都產生一個排序后的文件。因此,如果用sort by進行排序,并且設置mapreduce.job.reduces>1,則sort by只保證每個reducer的輸出有序,不保證全局有序。

distribute by(數據分發(fā)) distribute by是控制在map端如何拆分數據給reduce端的。類似于MapReduce中分區(qū)partationer對數據進行分區(qū) hive會根據distribute by后面列,將數據分發(fā)給對應的reducer,默認是采用hash算法+取余數的方式。

cluster by cluster by除了具有distribute by的功能外還兼具sort by的功能。但是排序只能是升序排序,不能指定排序規(guī)則為ASC或者DESC 當分區(qū)字段和排序字段相同cluster by可以簡化distribute by+sort by 的SQL 寫法,也就是說當distribute by和sort by 字段相同時,可以使用cluster by 代替distribute by和sort by

hive窗口函數

窗口函數指定了函數工作的數據窗口大小(當前行的上下多少行),這個數據窗口大小可能會隨著行的變化而變化

窗口函數最重要的關鍵字是 partition by 和 order by。 具體語法:over (partition by xxx order by xxx)

row_number() over():對相等的值不進行區(qū)分 rank() over():相等的值排名相同,序號從1到n不連續(xù) dense_rank() over():對相等的值排名相同,序號從1到n連續(xù) ntile(n) over():可以看作是把有序的數據集合平均分配到指定的數據n的桶中,將桶號分配給每一行,排序對應的數據為桶號 paercent_rank():排名計算公式:(current rank - 1)/(total number of rows -1),說明:分組內當前行的rank值-1/分組內總行數-1 cume_dist:如按升序排列,則統(tǒng)計;小于等于當前值的行數/總行數(number of rows ≤ current row)/(total number of rows),如果是降序比例,則統(tǒng)計:大于等于當前值的行數/總行數 lead(value_expr[,offset[default]]):用于統(tǒng)計窗口內往下第n行值 lag(value_expr[,offset[,default]]):與lead相反,用于統(tǒng)計窗口內往上第n行值

柚子快報激活碼778899分享:數據倉庫技術及應用

http://yzkb.51969.com/

精彩鏈接

評論可見,查看隱藏內容

本文內容根據網絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉載請注明,如有侵權,聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19060707.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄