使用Copilot+增強(qiáng)分析實(shí)現(xiàn)一站式智能數(shù)據(jù)查詢與可視化
Copilot是您在DataWorks的智能助手,它能夠根據(jù)自然語言快速完成多種SQL相關(guān)操作,包括生成SQL、改寫SQL、SQL錯(cuò)誤糾正及生成注釋等。使用DataWorks的Copilot,可幫助您輕松、高效、便捷地完成數(shù)據(jù)ETL及數(shù)據(jù)分析工作,節(jié)省大量時(shí)間和精力。本文為您介紹如何使用Copilot及增強(qiáng)分析實(shí)現(xiàn)一站式智能數(shù)據(jù)查詢與可視化。
注意事項(xiàng)
本教程使用的相關(guān)SQL代碼,詳情請(qǐng)參見附錄:報(bào)告中所有卡片用到的SQL代碼。
環(huán)境準(zhǔn)備
開通DataWorks
登錄免費(fèi)試用。
進(jìn)入阿里云免費(fèi)試用,單擊頁面右上方的登錄/注冊(cè),根據(jù)頁面提示完成賬號(hào)的登錄操作。
賬號(hào)登錄:已有阿里云賬號(hào)則直接登錄。
賬號(hào)注冊(cè):若無阿里云賬號(hào),需先進(jìn)行賬號(hào)注冊(cè)。
實(shí)名認(rèn)證:根據(jù)試用產(chǎn)品要求完成個(gè)人實(shí)名認(rèn)證或企業(yè)實(shí)名認(rèn)證。
成功登錄后,在免費(fèi)試用頁面單擊大數(shù)據(jù)開發(fā)治理平臺(tái) DataWorks產(chǎn)品的立即試用。
在彈出的DataWorks產(chǎn)品購買面板選擇開通地域?yàn)?b>華東2(上海),勾選服務(wù)協(xié)議后單擊確認(rèn)訂單并支付,按照界面指引開通DataWorks。
開通MaxCompute
本教程還需使用MaxCompute產(chǎn)品,您可進(jìn)入申請(qǐng)免費(fèi)試用MaxCompute頁面,在免費(fèi)試用中申請(qǐng)免費(fèi)額度的MaxCompute資源包進(jìn)行本教程的操作。MaxCompute免費(fèi)資源包的支持地域及免費(fèi)額度介紹,請(qǐng)參見新用戶免費(fèi)試用額度。
若此前已申請(qǐng)過MaxCompute的免費(fèi)試用,可登錄MaxCompute控制臺(tái)查看華東2(上海)地域是否已開通,若界面提示該地域未開通,您可單擊歡迎界面的立即開通MaxCompute進(jìn)行開通。
若您不符合免費(fèi)使用MaxCompute規(guī)則的條件,則可開通按量計(jì)費(fèi)版本的MaxCompute使用,計(jì)費(fèi)詳情請(qǐng)參見計(jì)費(fèi)概述。
DataWorks創(chuàng)建MaxCompute數(shù)據(jù)源
登錄MaxCompute控制臺(tái),在左上角選擇本教程使用的華東2(上海)地域。
單擊左側(cè)導(dǎo)航的工作區(qū)>項(xiàng)目管理,在項(xiàng)目列表頁面單擊新建項(xiàng)目。
根據(jù)界面指引配置項(xiàng)目信息。主要參數(shù)說明如下。
參數(shù)
描述
項(xiàng)目名稱
自定義項(xiàng)目名稱。本教程示例名稱配置為doc_test_000。
項(xiàng)目名稱需全局唯一,若界面提示您項(xiàng)目名稱已存在,您可根據(jù)提示修改名稱。
計(jì)算資源付費(fèi)類型
定義MaxCompute項(xiàng)目按照哪種付費(fèi)方式進(jìn)行計(jì)費(fèi)。本教程選擇按量付費(fèi)。
說明您通過免費(fèi)試用選購的資源抵扣包僅可用于抵扣后付費(fèi)資源消耗。
默認(rèn)Quota
用于實(shí)現(xiàn)計(jì)算資源分配。本教程選擇默認(rèn)后付費(fèi)Quota。
單SQL消費(fèi)限制
可選項(xiàng),本教程不設(shè)置。
該參數(shù)為單SQL消費(fèi)的最高閾值。單位為掃描量(GB)*復(fù)雜度。當(dāng)選擇按量付費(fèi)計(jì)費(fèi)類型時(shí)建議設(shè)置,以避免非預(yù)期的單SQL消費(fèi)過高。同時(shí)建議配置實(shí)時(shí)消費(fèi)監(jiān)控告警,多方位監(jiān)控限制消費(fèi)超出預(yù)期,詳情請(qǐng)參見消費(fèi)監(jiān)控告警。
數(shù)據(jù)類型
MaxCompute數(shù)據(jù)類型包含1.0數(shù)據(jù)類型、2.0數(shù)據(jù)類型和Hive兼容類型。本教程選擇2.0數(shù)據(jù)類型。
是否加密
指定創(chuàng)建的MaxCompute項(xiàng)目是否需要開啟數(shù)據(jù)加密功能。更多數(shù)據(jù)加密信息,請(qǐng)參見存儲(chǔ)加密。本教程選擇不加密。
配置完成后單擊確定,完成項(xiàng)目創(chuàng)建。
綁定MaxCompute項(xiàng)目
進(jìn)入DataWorks工作空間管理中心。
登錄DataWorks控制臺(tái),在左上角選擇本教程使用的華東2(上海)地域。
單擊左側(cè)導(dǎo)航的工作空間,進(jìn)入工作空間列表頁面,找到需綁定MaxCompute項(xiàng)目的工作空間。本教程示例使用默認(rèn)工作空間,您也可以使用您已創(chuàng)建的工作空間。
單擊您所創(chuàng)建的工作空間右側(cè)操作欄中的管理,進(jìn)入管理中心。
將MaxCompute項(xiàng)目創(chuàng)建為數(shù)據(jù)源。
在管理中心左側(cè)導(dǎo)航欄,單擊
,進(jìn)入數(shù)據(jù)源管理頁面。單擊
,創(chuàng)建MaxCompute數(shù)據(jù)源。配置數(shù)據(jù)源信息。
主要參數(shù)說明如下。
參數(shù)
描述
數(shù)據(jù)源名稱
定義數(shù)據(jù)源在DataWorks的名稱,名稱必須唯一。本教程示例名稱配置為doc_test_000。
認(rèn)證方式
默認(rèn)通過阿里云賬號(hào)及阿里云RAM角色身份進(jìn)行認(rèn)證。
數(shù)據(jù)源創(chuàng)建方式
選擇已有MaxCompute項(xiàng)目。
所屬云賬號(hào)
選擇當(dāng)前阿里云主賬號(hào)。
地域
選擇華東2(上海)。
MaxCompute項(xiàng)目名稱
選擇本文示例創(chuàng)建的doc_test_000。
默認(rèn)訪問身份
選擇阿里云主賬號(hào)。
說明若您使用的是標(biāo)準(zhǔn)模式的工作空間,則開發(fā)環(huán)境選擇執(zhí)行者,生產(chǎn)環(huán)境選擇阿里云主賬號(hào)。
Endpoint
選擇自動(dòng)適配。
更多數(shù)據(jù)源配置介紹,詳情請(qǐng)參見創(chuàng)建MaxCompute數(shù)據(jù)源。
測(cè)試Serverless資源組連通性。
您需測(cè)試所需的Serverless資源組與數(shù)據(jù)源的連通性。若資源組與數(shù)據(jù)源無法連通,則相應(yīng)數(shù)據(jù)源任務(wù)將無法正常執(zhí)行。資源組連通詳情請(qǐng)參考:網(wǎng)絡(luò)連通。
DataWorks數(shù)據(jù)開發(fā)綁定MaxCompute數(shù)據(jù)源。
在管理中心頁面,單擊左側(cè)導(dǎo)航欄的
,進(jìn)入數(shù)據(jù)開發(fā)頁面,在左側(cè)導(dǎo)航欄單擊數(shù)據(jù)源,按照界面指引選擇上述步驟創(chuàng)建的數(shù)據(jù)源,將該數(shù)據(jù)源綁定到數(shù)據(jù)開發(fā)。
在DataWorks體驗(yàn)SQL生成等Copilot產(chǎn)品功能
進(jìn)入Copilot功能界面。
在DataStudio(數(shù)據(jù)開發(fā))頁面,單擊頂部菜單欄右側(cè)的Copilot,進(jìn)入Copilot功能界面。
查看Copilot支持的用戶操作。
在Copilot對(duì)話框(后續(xù)簡稱Copilot Chat),輸入“/”,可查看Copilot支持的用戶操作。您可選中某一項(xiàng)操作后,通過自然語言輸入您的需求;也可直接通過自然語言輸入您的需求。
您可根據(jù)需要選擇合適的操作使用,具體如下表。
操作
描述
快捷找表
在Copilot Chat中輸入指令,如“網(wǎng)站用戶頁面訪問日志表”,在Copilot的返回結(jié)果單擊要選擇的表名前方的單選框,選中該表后,后續(xù)SQL操作將會(huì)基于該表展開。
SQL生成
在Copilot Chat中輸入指令,如“統(tǒng)計(jì)不同時(shí)間段的頁面訪問次數(shù)”,單擊發(fā)送按鈕,等待Copilot返回結(jié)果。
新建節(jié)點(diǎn)
生成SQL后,我們可將生成的SQL插入到當(dāng)前節(jié)點(diǎn)或新的節(jié)點(diǎn)。
示例:在Chat返回結(jié)果中,單擊SQL片段右上角的插入到新節(jié)點(diǎn),則會(huì)生成新的ODPS SQL節(jié)點(diǎn),且生成的SQL也會(huì)插入到新生成的節(jié)點(diǎn)中。
SQL改寫
單擊SQL改寫,在出現(xiàn)的輸入框中輸入指令,如“將結(jié)果寫入到分區(qū)表dws_ali_e_commerce中,并生成dws_ali_e_commerce的建表語句”,單擊發(fā)送按鈕,等待Copilot返回結(jié)果。
生成注釋
上述步驟生成的DDL語句中,由于缺少字段的COMMENT信息,任務(wù)發(fā)布后,表的使用者會(huì)較難理解表的字段內(nèi)容。我們可通過Copilot的生成注釋功能,為這段DDL語句增加COMMENT信息。
在編輯器中,鼠標(biāo)右鍵單擊SQL代碼,選擇
,單擊發(fā)送按鈕,等待Copilot返回結(jié)果。SQL糾錯(cuò)
在編輯器中,鼠標(biāo)右鍵單擊SQL代碼,選擇
,單擊發(fā)送按鈕,等待Copilot返回結(jié)果。SQL解釋
在編輯器中選中目標(biāo)SQL,鼠標(biāo)單擊頁面頂部的Copilot,在Chat對(duì)話框中輸入指令,如“解釋一下這段SQL”,單擊發(fā)送按鈕,等待Copilot返回結(jié)果。
調(diào)度配置
對(duì)于已經(jīng)準(zhǔn)備好的數(shù)據(jù)開發(fā)代碼,在將其發(fā)布為調(diào)度任務(wù)之前,需先完成調(diào)度配置。
在Chat對(duì)話框中輸入指令,如“將調(diào)度時(shí)間設(shè)置為每天凌晨兩點(diǎn),可重跑”,單擊發(fā)送按鈕,等待Copilot返回結(jié)果。
任務(wù)提交
對(duì)于已經(jīng)準(zhǔn)備好的數(shù)據(jù)開發(fā)代碼,在完成調(diào)度配置后,可發(fā)起任務(wù)提交。
單擊Chat中調(diào)度配置卡片下方的應(yīng)用并提交節(jié)點(diǎn),即可進(jìn)入任務(wù)提交流程。
在DataWorks進(jìn)行數(shù)據(jù)查詢體驗(yàn)
在已打開的DataStudio(數(shù)據(jù)開發(fā))頁面,單擊左上角的圖標(biāo),選擇全部產(chǎn)品>數(shù)據(jù)分析>SQL查詢。
在DataWorks的SQL查詢頁面中,默認(rèn)會(huì)創(chuàng)建一個(gè)新的SQL查詢頁面,將上述步驟生成的SQL代碼拷貝至該頁面。
SELECT CASE WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 0 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 3 THEN '00點(diǎn)-03點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 3 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 6 THEN '03點(diǎn)-06點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 6 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 9 THEN '06點(diǎn)-09點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 9 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 12 THEN '09點(diǎn)-12點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 12 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 15 THEN '12點(diǎn)-15點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 15 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 18 THEN '15點(diǎn)-18點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 18 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 21 THEN '18點(diǎn)-21點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 21 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 24 THEN '21點(diǎn)-24點(diǎn)' ELSE '其他' END AS 時(shí)間段 ,COUNT(1) as 頁面訪問次數(shù) FROM public_cloud_simple.dwd_ali_e_commerce WHERE behavior_type = 1 GROUP BY 時(shí)間段 order by 時(shí)間段;
單擊SQL查詢文件右上角的圖標(biāo),設(shè)置工作空間及引擎信息。
完成設(shè)置后,單擊SQL查詢文件操作欄中的運(yùn)行按鈕,運(yùn)行成功后,在SQL文件下方會(huì)顯示查詢結(jié)果。
創(chuàng)建DataWorks增強(qiáng)分析-卡片
在SQL查詢結(jié)果區(qū)域,若希望將查詢結(jié)果數(shù)據(jù)通過可視化的圖示方式展現(xiàn),則可單擊圖標(biāo),系統(tǒng)會(huì)默認(rèn)為您生成一個(gè)可視化的圖表。
如系統(tǒng)默認(rèn)生成的可視化圖表不符合預(yù)期,則可單擊圖表右上方的圖標(biāo),進(jìn)入圖表編輯頁面。
本教程以修改圖表橫縱坐標(biāo)標(biāo)題的展示示例。
單擊圖表編輯頁面右側(cè)的
。單擊X軸和Y軸的輔標(biāo)題,根據(jù)需要修改標(biāo)題。修改完畢后,單擊頁面右上方的保存,返回SQL查詢結(jié)果頁面。
如系統(tǒng)默認(rèn)生成的可視化圖表或者修改后的可視化圖表符合預(yù)期,您可單擊圖表右上方的保存卡片,將該結(jié)果持久化保存下來并分享。單擊頁面左側(cè)一級(jí)菜單中的圖標(biāo),即可查看已保存的卡片。
創(chuàng)建DataWorks增強(qiáng)分析-報(bào)告
如需把沉淀在DataWorks報(bào)告中的若干個(gè)卡片,通過有圖表、有描述、有邏輯地一同分享給其他人,則可通過創(chuàng)建報(bào)告實(shí)現(xiàn)。
單擊頁面左側(cè)一級(jí)菜單中的報(bào)告圖標(biāo),在打開的報(bào)告列表頁中,單擊頁面右上角的創(chuàng)建報(bào)告。
在打開的彈窗中,勾選需要加入到當(dāng)前報(bào)告的若干個(gè)卡片。
單擊彈窗右下角的確定,返回報(bào)告編輯頁面。
如需調(diào)整卡片在報(bào)告中的展示順序,可在頁面左側(cè)卡片順序編輯區(qū)域中拖動(dòng)卡片來完成。
如需修改報(bào)告標(biāo)題,雙擊圖表標(biāo)題修改為所需的圖表標(biāo)題。
本教程將圖表標(biāo)題修改為“某購物APP用戶分析報(bào)告”。單擊頁面右側(cè)的報(bào)告主題,選擇合適的主題。
單擊頁面右上角的創(chuàng)建,返回報(bào)告列表頁;鼠標(biāo)hover到需要分享給他人的報(bào)告上,單擊右上角的圖標(biāo),在分享的彈窗中復(fù)制分享鏈接,發(fā)送給需要分享的對(duì)象。本教程中報(bào)告的分享地址為《某購物APP的用戶分析報(bào)告》。
上傳自定義數(shù)據(jù)至MaxCompute
在日常工作中,我們需要將本地文件中的數(shù)據(jù)一次性上傳至計(jì)算引擎中進(jìn)行大量的數(shù)據(jù)計(jì)算或與其他在線數(shù)據(jù)一起進(jìn)行聯(lián)合分析。您可參考下文步驟操作:
在已打開的SQL查詢頁面,單擊左上角的圖標(biāo),選擇全部產(chǎn)品>數(shù)據(jù)集成>上傳與下載。
單擊左側(cè)導(dǎo)航欄的上傳圖標(biāo),進(jìn)入數(shù)據(jù)上傳頁面。
單擊數(shù)據(jù)上傳,根據(jù)界面指引上傳所需數(shù)據(jù)。
在數(shù)據(jù)上傳操作頁面,支持您將本地.csv文件上傳至MaxCompute Project中已有的表中,也支持在上傳過程中新建MaxCompute表。本教程以上傳本地文件“2013-2020全球PS4游戲銷量.csv”至準(zhǔn)備環(huán)境中已開通的MaxCompute項(xiàng)目public_cloud_simple_dev的新建表dws_game_salse_nd示例。
主要參數(shù)配置如下:
指定待上傳數(shù)據(jù):選擇文件“2013-2020全球PS4游戲銷量.csv。文件請(qǐng)參見2013-2020全球PS4游戲銷量.csv獲取。
設(shè)置目標(biāo)表:選擇MaxCompute項(xiàng)目名稱為doc_test_000,目標(biāo)表設(shè)置為新建表,表名設(shè)置為dws_game_salse_nd,表類型設(shè)置為非分區(qū)表,生命周期設(shè)置為365天。
配置后可在上傳文件數(shù)據(jù)預(yù)覽中,檢查上傳的數(shù)據(jù)是否顯示正常,如出現(xiàn)數(shù)據(jù)亂碼,可調(diào)整文件編碼。
單擊左下角的數(shù)據(jù)上傳,開始上傳數(shù)據(jù)。
在彈出的對(duì)話框中,您可看到數(shù)據(jù)上傳的進(jìn)度,關(guān)閉當(dāng)前彈窗不會(huì)停止數(shù)據(jù)上傳的進(jìn)程。您也可單擊返回列表,查看此次數(shù)據(jù)上傳的進(jìn)度,也可發(fā)起新的數(shù)據(jù)上傳。
數(shù)據(jù)上傳結(jié)束后,您可在彈窗中執(zhí)行如下操作。
查看上傳任務(wù)的成功或失敗狀態(tài),以及上傳任務(wù)的結(jié)束時(shí)間。
單擊數(shù)據(jù)查詢,進(jìn)行上傳數(shù)據(jù)的數(shù)據(jù)查詢及聯(lián)合分析。
發(fā)起一次新的數(shù)據(jù)上傳,或返回上傳列表頁查看列表詳情。
基于以上操作,本教程展示了如何將本地?cái)?shù)據(jù)單次手動(dòng)上傳到MaxCompute中,如需將業(yè)務(wù)生產(chǎn)過程中產(chǎn)生的數(shù)據(jù)定時(shí)同步至MaxCompute等大數(shù)據(jù)計(jì)算引擎中,推薦使用DataWorks數(shù)據(jù)集成,詳情請(qǐng)參見數(shù)據(jù)集成概述。
附錄:報(bào)告中所有卡片用到的SQL代碼
不同時(shí)間段的頁面訪問次數(shù)
SELECT CASE WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 0 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 3 THEN '00點(diǎn)-03點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 3 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 6 THEN '03點(diǎn)-06點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 6 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 9 THEN '06點(diǎn)-09點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 9 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 12 THEN '09點(diǎn)-12點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 12 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 15 THEN '12點(diǎn)-15點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 15 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 18 THEN '15點(diǎn)-18點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 18 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 21 THEN '18點(diǎn)-21點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 21 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 24 THEN '21點(diǎn)-24點(diǎn)' ELSE '其他' END AS 時(shí)間段 ,COUNT(1) as 頁面訪問次數(shù) FROM public_cloud_simple.dwd_ali_e_commerce WHERE behavior_type = 1 GROUP BY 時(shí)間段 order by 時(shí)間段;
高頻下單時(shí)間段
SELECT CASE WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 0 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 3 THEN '00點(diǎn)-03點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 3 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 6 THEN '03點(diǎn)-06點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 6 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 9 THEN '06點(diǎn)-09點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 9 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 12 THEN '09點(diǎn)-12點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 12 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 15 THEN '12點(diǎn)-15點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 15 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 18 THEN '15點(diǎn)-18點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 18 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 21 THEN '18點(diǎn)-21點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 21 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 24 THEN '21點(diǎn)-24點(diǎn)' ELSE '其他' END AS 時(shí)間段 ,COUNT(DISTINCT user_id) AS 下單用戶數(shù) FROM public_cloud_simple.dwd_ali_e_commerce WHERE behavior_type = '4' GROUP BY 時(shí)間段 ORDER BY 時(shí)間段 ASC LIMIT 100 ;
不同時(shí)間段的下單用戶數(shù)
SELECT CASE WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 0 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 3 THEN '00點(diǎn)-03點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 3 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 6 THEN '03點(diǎn)-06點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 6 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 9 THEN '06點(diǎn)-09點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 9 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 12 THEN '09點(diǎn)-12點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 12 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 15 THEN '12點(diǎn)-15點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 15 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 18 THEN '15點(diǎn)-18點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 18 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 21 THEN '18點(diǎn)-21點(diǎn)' WHEN CAST(SUBSTR(behavior_time,12) AS BIGINT) >= 21 AND CAST(SUBSTR(behavior_time,12) AS BIGINT) < 24 THEN '21點(diǎn)-24點(diǎn)' ELSE '其他' END AS 時(shí)間段 ,COUNT(DISTINCT user_id) AS 下單用戶數(shù) FROM public_cloud_simple.dwd_ali_e_commerce WHERE behavior_type = '4' GROUP BY 時(shí)間段 ORDER BY 時(shí)間段 ASC LIMIT 100 ;
用戶行為時(shí)間趨勢(shì)
SELECT CAST(SUBSTR(behavior_time,12) AS BIGINT) AS 時(shí)間段 ,CASE WHEN behavior_type = '1' THEN '商品頁瀏覽' WHEN behavior_type = '2' THEN '商品收藏' WHEN behavior_type = '3' THEN '加入購物車' WHEN behavior_type = '4' THEN '購買成功' ELSE behavior_type END AS 用戶操作 ,COUNT(DISTINCT user_id) AS 用戶數(shù) FROM public_cloud_simple.dwd_ali_e_commerce WHERE behavior_type IN ('1','3','4') GROUP BY 時(shí)間段 ,用戶操作 ORDER BY 時(shí)間段 ASC LIMIT 10000 ;
下單人數(shù)或?yàn)g覽人數(shù)
SELECT CASE WHEN behavior_type = '1' THEN '商品頁瀏覽' WHEN behavior_type = '2' THEN '商品收藏' WHEN behavior_type = '3' THEN '加入購物車' WHEN behavior_type = '4' THEN '購買成功' ELSE behavior_type END AS behavior_type ,COUNT(DISTINCT user_id) AS 下單用戶數(shù) FROM public_cloud_simple.dwd_ali_e_commerce GROUP BY behavior_type ORDER BY 下單用戶數(shù) DESC LIMIT 10000 ;
網(wǎng)上購物下單時(shí)間分布
SELECT CAST(SUBSTR(behavior_time,12) AS BIGINT) AS 時(shí)間段 ,COUNT(DISTINCT user_id) AS 用戶數(shù) FROM public_cloud_simple.dwd_ali_e_commerce WHERE behavior_type IN ('4') GROUP BY 時(shí)間段 ORDER BY 時(shí)間段 ASC LIMIT 10000 ;