Hive實現資料抽樣的常用三種方法

2021-08-31 23:24:57 字數 728 閱讀 1096

背景

在大規模資料量的資料分析及建模任務中,往往針對全量資料進行挖掘分析時會十分耗時和占用集群資源,因此一般情況下只需要抽取一小部分資料進行分析及建模操作。

hive提供了資料取樣(sampling)的功能,能夠根據一定的規則進行資料抽樣,目前支援資料塊抽樣,分桶抽樣和隨機抽樣,具體如下所示:

1、隨機抽樣(rand()函式)

3、分桶抽樣 

hive中分桶其實就是根據某乙個欄位hash取模,放入指定資料的桶中,比如將表table_1按照id分成100個桶,其演算法是hash(id) % 100,這樣,hash(id) % 100 = 0的資料被放到第乙個桶中,hash(id) % 100 = 1的記錄被放到第二個桶中。建立分桶表的關鍵語句為:cluster by語句。 

分桶抽樣語法: 

tablesample (bucket x out of y [on colname]) 

其中x是要抽樣的桶編號,桶編號從1開始,colname表示抽樣的列,y表示桶的數量。 

例如:將表隨機分成10組,抽取其中的第乙個桶的資料 

select * from table_01 tablesample(bucket 1 out of 10 on rand())

4、總結

聚合和抽樣,特別是聚合函式,在大資料處理過程中是處理資料的主要方法。通過自由的條件限制以及聚合函式組合,基本能完成任意要求的資料處理或分組,隨機抽樣、資料塊抽樣、分桶抽樣 是三種比較常見的資料抽樣方式。

HIve實現資料抽樣

1,2,在大規模資料量的資料分析及建模任務中,往往針對全量資料進行挖掘分析時會十分耗時和占用集群資源,因此一般情況下只需要抽取一小部分資料進行分析及建模操作。hive提供了資料取樣 sampling 的功能,能夠根據一定的規則進行資料抽樣,目前支援資料塊抽樣,分桶抽樣和隨機抽樣,具體如下所示 分桶抽...

Hive總結(二)Hive資料匯入的三種方式

常用的的有三種 1.從本地檔案系統中匯入資料到hive表 2.從hdfs上匯入資料到hive表 3.在建立表的時候通過從別的表中查詢出相應的記錄並插入到所建立的表中。hive配置 hdfs中hive資料檔案存放目錄 啟動hive後hdfs自動建立 hdfs usr hive warehouse ha...

hive資料抽樣的方法

塊抽樣 block sampling hive 本身提供了抽樣函式,使用 tablesample 抽取指定的 行數 比例 大小,舉例 create table iteblog as select from iteblog1 tablesample 1000 rows create table ite...