[Hive]Hive實現抽樣查詢
對於非常大的資料集,有時使用者需要使用的知識一個具有代表性的查詢結果,而不是全部結果。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,那麼會返回所有的行。
相關文章
- 使用Hive隨機抽樣Hive隨機
- Hive之Hive快捷查詢(避免Mapruduce查詢)Hive
- Hive -------- hive常見查詢練習Hive
- [Hive]Hive中表連線的優化,加快查詢速度Hive優化
- Hive學習筆記 5 Hive的資料查詢、函式Hive筆記函式
- hive查詢注意事項和調優Hive
- hive表查詢中文顯示亂碼Hive
- impala查詢不到hive裡建立的表Hive
- HIVE實現wordcount過程Hive
- 例項講解hadoop中的hive查詢(python語言實現)薦HadoopHivePython
- HIVE隨手記——Hive命令(?$HIVE_HOME/bin/hive)Hive
- Hive內部函式簡介及查詢語法Hive函式
- flink實戰--讀寫Hive(Flink on Hive)Hive
- 使用Presto查詢hive表資料時報"Error opening Hive split hdfs"問題,及解決方法RESTHiveError
- [Hive]Hive排序優化Hive排序優化
- Hive --------- hive 的優化Hive優化
- Hive之 hive架構Hive架構
- [hive] hive cli 命令列Hive命令列
- 【Hive】hive資料遷移Hive
- Hive篇--搭建Hive叢集Hive
- Hive篇---Hive使用優化Hive優化
- hadoop 實現HIVE和HBASE協作!HadoopHive
- Hive學習之六 《Hive進階— —hive jdbc》 詳解HiveJDBC
- Hive調優實用Hive
- Hive調優實戰Hive
- 【Hive一】Hive安裝及配置Hive
- Spark SQL解析查詢parquet格式Hive表獲取分割槽欄位和查詢條件SparkSQLHive
- HIVE基本語法以及HIVE分割槽Hive
- Hive學習之Hive的安裝Hive
- hive匯出到csv hive匯出到excelHiveExcel
- Hive的原理—— 深入淺出學HiveHive
- hive學習之一:認識hiveHive
- 報表連 hive,資料量比較大,怎麼分頁查詢?Hive
- hive將查詢資料插入表中某欄位無資料Hive
- hive學習之三:專案中的hive優化實踐Hive優化
- Hive配置與操作實踐Hive
- spark with hiveSparkHive
- hive partitionHive