中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

品牌網(wǎng)站策劃書互聯(lián)網(wǎng)媒體廣告公司

品牌網(wǎng)站策劃書,互聯(lián)網(wǎng)媒體廣告公司,蘋果手機(jī)safari瀏覽器打不開網(wǎng)頁,可信賴的網(wǎng)站建設(shè)案例HIVE作為數(shù)據(jù)倉庫處理常用工具,如同RDBMS關(guān)系型數(shù)據(jù)庫中標(biāo)準(zhǔn)SQL語法一樣,Hive SQL也內(nèi)置了不少系統(tǒng)函數(shù),滿足于用戶在不同場景下的數(shù)據(jù)分析需求,以提高開發(fā)SQL數(shù)據(jù)分析的效率。 我們可以使用show functions查看當(dāng)下版本支持的函數(shù)…

HIVE作為數(shù)據(jù)倉庫處理常用工具,如同RDBMS關(guān)系型數(shù)據(jù)庫中標(biāo)準(zhǔn)SQL語法一樣,Hive SQL也內(nèi)置了不少系統(tǒng)函數(shù),滿足于用戶在不同場景下的數(shù)據(jù)分析需求,以提高開發(fā)SQL數(shù)據(jù)分析的效率。
我們可以使用show functions查看當(dāng)下版本支持的函數(shù),并且可以通過describe function extended funcname來查看函數(shù)對應(yīng)的使用方式和方法,下面我們將描述HIVE SQL中常用函數(shù)的高階使用場景。

1、行轉(zhuǎn)列(explode)

如下活動列表:tb_activities

活動ID活動名稱列表
1雙111,國慶,元旦
2黃金周,國慶,元旦

希望轉(zhuǎn)換為列類型活動表:tb_activitity

活動ID活動名稱
1雙11
1國慶
1元旦
2黃金周
2國慶
2元旦

使用到Hive內(nèi)置一個(gè)非常著名的UDTF函數(shù),名字叫做explode函數(shù),中文戲稱為“爆炸函數(shù)”,可以炸開數(shù)據(jù)轉(zhuǎn)換為多行。

insert into table tb_activitity select id,activity from tb_activities 
lateral view explode(split(activities,','))enum_tmp as activity;

2、列轉(zhuǎn)行

如上1所示,希望從tb_activity轉(zhuǎn)換為tb_activities,通過collect_set()方法和group by id 將列轉(zhuǎn)換為行,實(shí)現(xiàn)如下:

 select id, concat_ws(',',collect_set(activity)) as activities from tb_activity group by id;

3、排名(rank())

可以通過rank() 方法的使用,實(shí)現(xiàn)對指定列進(jìn)行排名,輸出排名結(jié)果。例如商品總數(shù)表:t_item_sum,需要實(shí)現(xiàn)排名功能:

item_iditem_sum
100120
100212
100362
100415

期望得到:

item_iditem_sumrank
1003621
1001202
1004153
1002124

代碼實(shí)現(xiàn)如下:

select item_id,item_sum,rank()over(order by item_sum desc) as rank from t_item_sum;

4、分組去重

在查詢數(shù)據(jù)時(shí)如果有重復(fù),我們可以使用用distinct 去除重復(fù)值,但使用 distinct 只能去除所有查詢列都相同的記錄,如果某個(gè)字段不同,distinct 就無法去重。這時(shí)我們可以用 row_number()over(partitioon by column1 order by column2) 先進(jìn)行分組。
例如:有活動表數(shù)據(jù)列“活動id,用戶id,活動名稱,客戶群組,過期時(shí)間”,希望按照”活動id,活動名稱,客戶群組”去重,取最新一條數(shù)據(jù)。

iduser_idactivitycust_groupexpired_at
BCP0151001春節(jié)活動A高價(jià)值2023-10-05
BCP0151001春節(jié)活動A高價(jià)值2023-10-15
BCP0151001春節(jié)活動A高價(jià)值2023-10-28
BCP0251002春節(jié)活動B中價(jià)值2023-10-05
BCP0251002春節(jié)活動B中價(jià)值2023-10-25
BCP0301003春節(jié)活動C中價(jià)值2023-10-25

期望得到:

iduser_idactivitycust_groupexpired_at
BCP0151001春節(jié)活動A高價(jià)值2023-10-28
BCP0251002春節(jié)活動B中價(jià)值2023-10-25
BCP0301003春節(jié)活動C中價(jià)值2023-10-25

使用row_number()over(partitioon by) 分組去重。

  select tt1.* from(select id, user_id, activity,cust_group,row_number() over(partition by concat(id,activity,cust_group)order by expired_at desc)as row_num from tb_acitivity_full)tt1 where tt1.row_num=1;

5、指標(biāo)統(tǒng)計(jì)

GROUPING SETS,GROUPING__ID,CUBE,ROLLUP,這幾個(gè)hive分析函數(shù)通常用于OLAP中,不能累加,而且需要根據(jù)不同維度上鉆( roll up )和下鉆( drill down )的指標(biāo)統(tǒng)計(jì),比如,分小時(shí)、天、月的UV數(shù)。上鉆是沿著維度的層次向上聚集匯總數(shù)據(jù),下鉆是在分析時(shí)加深維度,對數(shù)據(jù)進(jìn)行層層深入的查看。通過逐層下鉆,數(shù)據(jù)更加一目了然,更能充分挖掘數(shù)據(jù)背后的價(jià)值,及時(shí)做出更加正確的決策。

OLAP函數(shù)使用說明
GROUPING SETS根據(jù)不同的維度組合進(jìn)行聚合,等價(jià)于將不同維度的GROUP BY結(jié)果集進(jìn)行UNION ALL
GROUPING__ID表示結(jié)果屬于哪一個(gè)分組集合,屬于虛字段
CUBE可根據(jù)GROUP BY的維度的所有組合進(jìn)行聚合
ROLLUP作為CUBE的子集,以最左側(cè)的維度為主,從該維度進(jìn)行層級聚合

如4所示,希望對指標(biāo)值進(jìn)行統(tǒng)計(jì),期望結(jié)果:

indicatorenum_valuecount
idBCP0153
idBCP0252
idBCP0301
activity春節(jié)活動A3
activity春節(jié)活動B2
activity春節(jié)活動C1
cust_group高價(jià)值3
cust_group中價(jià)值3

通過grouping__id 內(nèi)層SQL處理結(jié)果,表2:

groupIdidactivitycust_groupuv
1728id_BCP015NULLNULL3
1724id_BCP025NULLNULL2
1723id_BCP030NULLNULL1
2728NULLactivity_春節(jié)活動ANULL 3
2724NULLactivity_春節(jié)活動BNULL 2
2723NULLactivity_春節(jié)活動CNULL 1
3723NULLNULLcust_group_高價(jià)值3
3724NULLNULLcust_group_中價(jià)值3
select split(coalesce(id,activity,cust_group),'\\_')[0] as indicator,coalesce(split(id, '\\_')[1],split(activity, '\\_')[1],split(cust_group, '\\_')[1],) as enum_valuesum(uv) as countfrom (-- 內(nèi)層SQL處理結(jié)果,對應(yīng)上表2select grouping__id as groupId,concat('id|',id) as id,concat('activity|', activity) as activity,concat('cust_group|',cust_group) as cust_group,count(*) as uvfrom tb_acitivity_fullgroup by concat('id|',id),concat('activity|', activity),concat('cust_group|',cust_group)grouping sets(concat('id|',id),concat('activity|', activity),concat('cust_group|',cust_group))as tt1group by split(coalesce(id,activity,cust_group),'\\_')[0],coalesce(split(id, '\\_')[1],split(activity, '\\_')[1],split(cust_group, '\\_')[1],);

6、JSON數(shù)據(jù)處理

JSON數(shù)據(jù)作為數(shù)據(jù)存儲和數(shù)據(jù)處理中最常見的結(jié)構(gòu)化數(shù)據(jù)格式之一,許多場景下都會將數(shù)據(jù)以JSON格式存儲在文件系統(tǒng)(HDFS/MINIO等)中,當(dāng)構(gòu)建數(shù)據(jù)倉庫時(shí),對JSON格式的數(shù)據(jù)進(jìn)行處理和分析,就需要在Hive中使用對應(yīng)函數(shù)對JSON格式的數(shù)據(jù)進(jìn)行解析讀取。
例如,JSON格式的數(shù)據(jù)如下:

商品ID商品名稱額外信息
1001IP15“fixedIntegral”:200, “source”:“wechat”,“stages”:12}

獲取商品可使用的固定積分:

select get_json_object(extra_json, '$fixedIntegral) as integral
from t_items;

7、替換

7.1 translate 函數(shù)用法
select translate('abcdef', 'adc', '19') tb_translate_exe
輸出:
1b9ef
  • translate(input,from,to)
  • input:輸入字符串
  • from:需要匹配的字符
  • to :用哪些字符來替換被匹配到的字符
    注意點(diǎn):這里from的字符與to字符在位置上存在一 一對應(yīng)關(guān)系,也就是from中每個(gè)位置上的字符用to中對應(yīng)位置的字符替換。
7.1 regexp_replace 函數(shù)

正則替換

SELECT  aa,REGEXP_REPLACE(aa, '[a-z]', '')    -- 替換所有字母,REGEXP_REPLACE(aa, '[abc]', '')    -- 替換指定字母,REGEXP_REPLACE(aa, '[^abc]', '')    -- 替換所有非字母,REGEXP_REPLACE(aa, '[0-9]', '')    -- 替換所有數(shù)字,REGEXP_REPLACE(aa, '[\\s\\S]', '')    -- 替換空白符、換行,\\s:是匹配所有空白符,包括換行,\\S:非空白符,不包括換行。,REGEXP_REPLACE(aa, '\\w', '')    -- 替換所有字母、數(shù)字、下劃線。等價(jià)于 [A-Za-z0-9_],REGEXP_REPLACE(aa, '[-8+]', '')    -- 只替換-8這個(gè)字符,REGEXP_REPLACE(aa, '[-8*]', '')    -- 替換-8、-、8這幾個(gè)字符
FROM    (SELECT  '5e40b2b8-0916-42c0-899a-eaf4b2df 5268' AS aaUNION ALLSELECT  'c81b5906-38d7-482c-8b66-be5d3359cbf6' AS aaUNION ALLSELECT  '8856fd0a-2337-4605-963f-0d0d059b1937' AS aa) t
;
http://www.risenshineclean.com/news/60271.html

相關(guān)文章:

  • 畢業(yè)論文網(wǎng)站鹽城seo優(yōu)化
  • 注冊網(wǎng)站入口西安百度關(guān)鍵詞優(yōu)化
  • 做淘客網(wǎng)站 備案煙臺seo快速排名
  • wordpress 汽車 模板下載蘇州搜索引擎優(yōu)化
  • html5 css3網(wǎng)站模板百度流量推廣項(xiàng)目
  • 鳥人 網(wǎng)站建設(shè)移動網(wǎng)站推廣如何優(yōu)化
  • 建筑工程網(wǎng)上考試答案重慶seo黃智
  • 濰坊做網(wǎng)站的網(wǎng)絡(luò)公司品牌網(wǎng)絡(luò)推廣運(yùn)營公司
  • 重慶企業(yè)網(wǎng)站優(yōu)化營銷管理制度范本
  • 網(wǎng)站建設(shè)的淘寶模板南寧seo費(fèi)用服務(wù)
  • 圖片演示dw做網(wǎng)站手機(jī)如何創(chuàng)建網(wǎng)站
  • 網(wǎng)站ip訪問做圖表中國十大新聞網(wǎng)站排名
  • 石家莊網(wǎng)絡(luò)公司行業(yè)深圳百度seo怎么做
  • 微網(wǎng)站做的比較好搜索引擎營銷的主要方式有
  • 南京網(wǎng)站網(wǎng)站建設(shè)學(xué)校如何發(fā)布一個(gè)網(wǎng)站
  • 做金融必看網(wǎng)站谷歌在線瀏覽器免費(fèi)入口
  • 網(wǎng)站建設(shè)欄目說明百度一下就知道官網(wǎng)
  • 企業(yè)網(wǎng)站建設(shè)的思路最優(yōu)化方法
  • 一些做的好的網(wǎng)站東營百度推廣電話
  • 曲阜公司網(wǎng)站建設(shè)價(jià)格便宜ui設(shè)計(jì)培訓(xùn)班哪家好
  • 淘寶客網(wǎng)站還可以做嗎牛奶軟文廣告營銷
  • 長沙今天最新招聘信息臺州關(guān)鍵詞優(yōu)化平臺
  • 阿里巴巴做網(wǎng)站的電話號碼西安百度推廣怎么做
  • 金融投資網(wǎng)站開發(fā)站長工具是干嘛的
  • 產(chǎn)品經(jīng)理培訓(xùn)哪個(gè)機(jī)構(gòu)好湖南正規(guī)seo優(yōu)化
  • 做網(wǎng)站的人還能做什么公司網(wǎng)站建設(shè)要多少錢
  • 做網(wǎng)站怎樣連數(shù)據(jù)庫關(guān)鍵詞推廣效果分析
  • 做視頻網(wǎng)站視頻放在哪里域名怎么注冊
  • 如何做電影網(wǎng)站賺錢嗎刷百度指數(shù)
  • 營銷型網(wǎng)站建設(shè)公司云服務(wù)器