對於非常大的資料集,有時使用者需要使用的知識乙個具有代表性的查詢結果,而不是全部結果。hive可以通過對錶進行分桶抽樣來滿足這個需求。
1、分桶抽樣查詢
select * from numbers tablesample(bucket 3 out of 10 on number) s;
其中tablesample是抽樣語句,語法:tablesample(bucket x out of y) 。y必須是table總bucket數的倍數或者因子。hive根據y的大小,決定抽樣的比例。例如,table總共分了64份,當y=32時,抽取(64/32=)2個bucket的資料,當y=128時,抽取(64/128=)1/2個bucket的資料。x表示從哪個bucket開始抽取。例如,table總bucket數為32,tablesample(bucket 3 out of 16),表示總共抽取(32/16=)2個bucket的資料,分別為第3個bucket和第(3+16=)19個bucket的資料。
2、資料塊抽樣
hive提供了另外一種按照抽樣百分比進行抽樣的方式,這種是基於行數的,按照輸入路徑下的資料塊百分比進行抽樣。
select * from numbersflat tablesample(0.1 percent) s;
這種抽樣方式不一定適用於所有的檔案格式。另外抽樣的最小抽樣單元是乙個hdfs資料塊。如果標的資料大小小於普通的塊大小128mb,那麼會返回所有的行。 python 抽樣 python實現抽樣分布描述
本次使用木東居士提供資料案例,驗證資料分布等內容,資料讀取 df pd.read excel c users zxy desktop usecols 1,2,3 1.按照港口分類,計算各類港口資料 年齡 車票 的統計量。df1 df.groupby embarked df1.describe 或 變...
R實現資料抽樣
訓練集與測試集x為輸入變數,y為輸出變數。利用訓練集中的x,y建立模型。將測試集中的x帶入模型,來 測試集目標輸出變數y的值,設為y 將訓練集的x帶入模型,來 訓練集目標輸出變數y的值,設為y 那麼y 與y的誤差評價了模型的擬合程度,即自己對自己的契合程度 而y 與y的誤差則評價了模型的推廣程度,即...
HIve實現資料抽樣
1,2,在大規模資料量的資料分析及建模任務中,往往針對全量資料進行挖掘分析時會十分耗時和占用集群資源,因此一般情況下只需要抽取一小部分資料進行分析及建模操作。hive提供了資料取樣 sampling 的功能,能夠根據一定的規則進行資料抽樣,目前支援資料塊抽樣,分桶抽樣和隨機抽樣,具體如下所示 分桶抽...