脱了她裤子摸进她的内裤GIF 精品国产三级a∨在线 男人J放进女人的P视频全过程 全黄一级裸片视频 久久精品99国产精品日本 一个人WWW在线观看免费中文 免费天天看片在线观看视频 一直按小豆豆为什么会抖 YW1139.龙物视频在线观看 最近最新中文字幕大全 亚洲成A人无码亚洲成A无码特黄 野花高清在线观看免费动漫 高清日韩美剧在线观看 国产老熟女乱子人伦视频 精品亚洲无码不卡一区二区三区 黄 色 免 费 大 片 爱苹果AV,apgav 伊伊综合在线视频无码 特黄a级日本大片 美丽人妻被按摩中出中文字幕 德国极品少妇videossexhd 国产av无码日韩av无码网站 欧美牲交a欧美牲交vdo 国产日产欧产精品精品蜜芽 毛片电影免费播放 天天做天天爱天天综合网2021 最刺激黄a大片免费无需下载 一级片看看 扒开老师内衣吸她奶头动态图 asian艳丽的少妇pics 边摸边吃奶又黄激烈视频 精品国产免费人成电影在线观看 好紧我太爽了色视频 欧美裸体柔术牲交视频 日本黄色网站 日本人妻久久久中文字幕乱码 欧美亚洲中文字幕 综合亚洲av图片区 色欲影视 免费天天看片在线观看视频 乡村大乱纶肥水不外流 老妇炕上偷老汉视频露脸 欧美一级片免费看 六月丁香综合婷婷 2020国产成人最新视频不卡 亚洲AV永久无码天堂网小说区 美女高潮视频大片免费 精品一卡2卡三卡4卡芒果app 国产曰本清纯AV无码不卡 房东老头揉捏吃我奶头影片

    千鋒教育-做有情懷、有良心、有品質的職業教育機構

    當前位置:首頁  >  關于學院  >  技術干貨  >  大數據技術干貨  >  正文

    Hive窗口函數

    來源:千鋒教育
    作者:qyf
    關鍵詞: 重慶 太原
    2022-09-28
    分享

    Hive窗口函數

      窗口函數是用于分析用的一類函數,要理解窗口函數要先從聚合函數說起。 大家都知道聚合函數是將某列中多行的值合并為一行,比如sum、count等。 而窗口函數則可以在本行內做運算,得到多行的結果,即每一行對應一行的值。通用的窗口函數可以用下面的語法來概括:

      Function() Over (Partition By Column1,Column2,Order By Column3)

      窗口函數又分為以下三類: 聚合型窗口函數 分析型窗口函數 * 取值型窗口函數

      聚合型窗口函數

      -- SUM(), MIN(),MAX(),AVG(),COUNT() 這些聚合函數和Over函數配合使用

      -- 列子:

      SUM(result) OVER (PARTITION BY a ORDER BY b) -- 累計至當前行的和

      SUM(result) OVER (PARTITION BY a ORDER BY b rows between 3 preceding and current row) --之前三行到當前行的和

      分析型窗口函數

      # RANk(),ROW_NUMBER(),DENSE_RANK() 等函數和Over函數配合使用

      # 例子:

      ROW_NUMBER() OVER (PARTITION BY a ORDER BY b)

      * ROW_NUMBER():生成連續的序號(相同元素序號相同)

      * RANk():如兩元素排序相同則序號相同,并且會跳過下一個序號;

      * DENSE_RANK():如兩元素排序相同則序號相同,不會跳過下一個序號

      OLAP 分析中常用的幾個函數

      -- Grouping Sets

      -- 在一個GROUP BY查詢中,根據不同的維度組合進行聚合,等價于將不同維度的GROUP BY結果集進行UNION ALL

      SELECT

      a,

      b,

      COUNT(DISTINCT uuid) AS uv,

      FROM t1

      GROUP BY a,b

      GROUPING SETS (month,day,(month,day))

      -- CUBE

      -- 在一個GROUP BY查詢中,根據不同的維度組合進行聚合,等價于將不同維度的GROUP BY結果集進行UNION ALL

      SELECT

      a,

      b,

      COUNT(DISTINCT uuid) AS uv,

      FROM t1

      GROUP BY a,b

      WITH CUBE

      --ROLLUP

      --是CUBE的子集,以最左側的維度為主,從該維度進行層級聚合

      SELECT

      a,

      b,

      COUNT(DISTINCT uuid) AS uv,

      FROM t1

      GROUP BY a,b

      WITH ROLLUP

    聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

    相關推薦

  1. Hive窗口函數 窗口函數是用于分析用的一類函數,要理解窗口函數要先從聚合函數說起。 大家都知道聚合函數是將某列中多行的值合并為一行,比如sum、count等。 而窗口函數則可以在本行內做運算,得到多行的結果,即每一行對應一行的值。通用的窗口函數可以用下面的語法來概括:
  2. Hive有搭建集群的必要嗎? Hive作業的運行,資源調度是YARN,數倉存儲是HDFS,他們兩個都是分布式的集群。 對于Hive你可以簡單理解成就是負責將你的SQL轉換為MR,當然也提供元數據管理(metastore),我們使用Hive時只需要一個客戶端即可,對于Hive MetaStore和HiveServer2服務,可以構建一個高可用的(HA)。
  3. Spark的shuffle過程和mr的shuffle過程的區別有哪些? MR在reduce端還會進行一次合并排序,spark則在map端就完成了排序,采用Tim-Sort排序算法?;谝陨戏N種原因,MR自定義分區器時往往還需要自定義分組,spark則不需要(或者說map結構已經是自定義分組了)。
  4. HBase讀流程:如果讀緩存和寫緩存的數據不一致,怎么返回? 因為HBase讀時,先去查詢寫緩存MemStore,如果有則直接返回,如果寫緩存MemStore沒有時,則會去查詢讀緩存BlockCache,如果有就直接返回,沒有將會讀取對應HFile,并返回同時緩存BlockCache。
  5. 在開發的時候有沒有用過拉鏈表?拉鏈表的應用場景有哪些?怎么用的? 沒有用過拉鏈表,因為我們的開發場景中暫時不設計,我這邊可以就簡單把我對拉鏈表的認知給說一下:首先拉鏈表是在面對處理的數據量比較大,且計算要求保留歷史變更數據。其主要的核心在于通過設置兩個字段作為數據是否有效性的開關(begin_date,end_date),這樣做的目的是保證在表的數據,在某一個時間區間內(時間粒度得統一,月,日,時,分…)有且僅有一條有效的數據。
  6. 離線數倉的分層是如何分層的? 離線數倉的分層通常是三層:ODS層、DWD層、DWS層、ADS層,其中ODS層(操作明細)、DWD層(數據倉庫明細)、DWS層(數據倉庫公用匯總)這三層通常被稱為公共層,是數據清洗、加工、聚合的重點,ADS層(應用數據層)。我們的項目也不另外,就是按這個套路建設。
  7. 四虎成人精品一区二区免费网站