商品銷售數據分析實驗

進入虛擬機,啟動HDFS和Yarn

?

1.創建表?

hive
show databases;
use test;

?銷售訂單表

create table t_dml (detail_id bigint,sale_date date,  province string,city string,product_id bigint,cnt bigint,amt double
)row format delimited
fields terminated by ',';

?商品詳細表:

create table t_product (product_id bigint, product_name string, category_id bigint, category_name string, price double
)row format delimited
fields terminated by ',';

?2.加載數據

? 創建目錄存放數據

mkdir /opt/data

加載數據

load data local inpath '/opt/data/t_dml.csv' into table t_dml;
load data local inpath '/opt/data/t_product.csv' into table t_product;

3.?銷售數據分析

1.查詢t_dml中的銷售記錄的時間段:

select max(sale_date), min(sale_date) from t_dml;

2.查詢各商品類別的總銷售額

select t.category_name, sum(t.amt) as total_moneyfrom( select a.product_id, a.amt, b.category_namefrom t_dml ajoin t_product bon a.product_id=b.product_id) t
group by t.category_name;

3.店主想知道哪個商品最暢銷以及銷量排行榜,請查詢銷量前10的商品,顯示商品名稱,銷量,排名。

select a.product_name , t.cnt_total,rank() over (order by t.cnt_total desc) as rkfrom( select product_id, sum(cnt) as cnt_totalfrom t_dmlgroup by product_idorder by cnt_total desclimit 10) tjoin t_product aon t.product_id=a.product_id;

4.店主想知道各個市縣的購買力,同時也想知道自己的哪個商品在該地區最熱賣,通過創建中間表,優化查詢。

1. 創建結果存放表:

create table t_city_amt
( province string,city string,total_money double
);
create table t_city_prod
( province string,city string,product_id bigint,product_name string,cnt bigint
);

2.插入數據

insert into t_city_amt
select province,city,sum(amt)
from t_dml group by province,city;
SELECT * FROM t_city_amt;

?

insert into t_city_prod
select t.province,t.city,t.product_id,t.product_name,sum(t.cnt) from
(
select a.product_id,b.product_name,a.cnt,a.province,a.city
from t_dml a join t_product b
on a.product_id = b.product_id
) t
group by t.province,t.city,t.product_id,t.product_name;
SELECT * FROM t_city_prod;

3. 優化

from 
( select a.*, b.product_namefrom t_dml ajoin t_product bon a.product_id=b.product_id
) t
insert overwrite table t_city_amtselect province, city, sum(amt)group by province, city
insert overwrite table t_city_prodselect province, city, product_id, product_name, sum(cnt)group by province, city, product_id, product_name;

5.統計各省最強購買力地區:

select province, city, total_moneyfrom( select province, city, total_money,dense_rank() over (partition by province order by total_money desc) as rkfrom t_city_amt) t
where t.rk=1
order by total_money desc;

6.統計各地區的最暢銷商品

select province, city, product_id, product_namefrom( select province, city, product_id, product_name,dense_rank() over (partition by province order by cnt desc) as rkfrom t_city_prod) t
where t.rk=1
order by province, city;

?

?

?

?

?

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/87954.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/87954.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/87954.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PH熱榜 | 2025-07-08

1. TensorBlock Forge 標語:人工智能模型的API 介紹:Forge是一個快速且安全的工具,讓你可以跨不同供應商連接和運行AI模型 產品網站: 立即訪問 Product Hunt: View on Product Hunt 票數: &#x1f53a…

2025-01)electronjs-v11.2.0升級到新版本electronjs-v37.2.0記錄,node版本記錄,淘寶鏡像配置記錄,升級記錄

背景:由于22年使用electronjs開發的自助機客戶端幾年沒去維護,現在有需求要修改,電腦也換新了,node環境也沒,直接把electron從 之前的 11.2.0 版本 升級到了37.2.0版本,升級最主要的目的是升級谷歌瀏覽器內核,升級后谷歌瀏覽器內核直接從87升級到了138,可以支持谷歌最新…

iQOO手機怎樣相互遠程控制?其他手機可以遠程控制iQOO嗎?

iQOO是Vivo同一品牌下的產品,它們兩款手機都可以使用手機內置的遠程控制功能。具體做法是,打開控制端的iQOO手機的【設置】【快捷與輔助】、【遠程協助】,然后輸入被控端的電話號碼,等被控端的手機接受遠程協助后,就可…

【入門級-C++程序設計:3、程序基本語句-多層循環語句】

1、定義: 在 C 中,多層循環(嵌套循環)是指在一個循環體內包含另一個或多個循環語句。它常用于處理多維數據結構(如二維數組)、復雜的迭代邏輯(如矩陣運算、圖形打印、組合遍歷等)。多…

四、jenkins自動構建和設置郵箱

一、jenkins自動構建什么自動構建、有啥用:觸發方式代碼提交(Git push)定時任務(如每天凌晨構建)手動點擊等方式(立即執行)執行內容從 Git/SVN 拉取最新代碼運行編譯(如 Maven/Gradl…

【深度學習新浪潮】深入解析LLM關鍵概念:架構、優化與最新研究進展

1. Transformer架構與注意力機制 概念解析 Transformer是LLM的核心架構,由編碼器和解碼器組成,其核心創新是自注意力機制,通過計算輸入序列中每個位置的關聯權重,動態聚焦關鍵信息。自注意力機制的計算復雜度為O(n),在處理長序列時成為性能瓶頸。 代碼示例:基礎Transfo…

RAGflow圖像解析與向量化分析

RAGflow圖像解析與向量化分析 注:需要提前部署好ragflow,才方便一 一對應代碼,部署教程:rag部署教程,這樣才會方便后續更改 1. 圖像解析流程 RAGflow通過多種解析器處理不同類型的文檔,其中圖像解析是一個重要組成部分。以下是RAGflow處理圖像的主要流程: 1.1 PDF文…

千翼破界,百景賦能 | 2025深圳eVTOL展無人機場景應用專場即將啟幕

在技術革新、應用深化、產業鏈協同升級及低空空域管理改革等多重政策紅利驅動下,我國工業級無人機產業正邁入爆發式增長新階段,持續引領民用無人機市場繁榮。數據顯示,2019 至2024年,我國民用無人機市場規模從435.1億元躍升至1108…

Go語言標識符命名規則詳解:工程化實踐

引言 Go語言的命名規則是其簡潔哲學和工程實用性的集中體現。下面從語法規范、最佳實踐到實際應用進行全面解析: 一、基礎命名規則 1. 變量命名 // 小駝峰式(lowerCamelCase) var userName string var maxRetryCount 3 var isConnected bool…

RISC-V:開源芯浪潮下的技術突圍與職業新賽道 (一)為什么RISC-V是顛覆性創新?

第一篇:開篇:為什么RISC-V是顛覆性創新? 打破70年架構壟斷,開源硬件如何重塑芯片產業規則?一、傳統架構的“圍城之困”(痛點切入) ARM/X86的統治代價 授權費暴利模型 : ARM指令集授權…

【機器學習筆記 Ⅱ】7 多類分類

1. 多類分類(Multi-class Classification) 定義 多類分類是指目標變量(標簽)有超過兩個類別的分類任務。例如: 手寫數字識別:10個類別(0~9)。圖像分類:區分貓、狗、鳥等。…

2025年深圳杉川機器人性格測評和Verify測評SHL題庫高分攻略

1、杉川機器人包含性格測評和Verify測評,預計用時60min,請確保作答時周圍環境無干擾、網絡暢通;2、請使用電腦完成作答,建議使用以下瀏覽器登錄:IE9.0及以上版本,火狐,谷歌;3、杉川機…

【flutter 在最新版本中已經棄用了傳統的 apply from 方式引入 Gradle 插件】

報錯 Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source! Launching lib\main.dart on 2112123AC in debug mode... Running Gradle task assembleDebug...FAILURE: Build failed with an exception.* Where: Script D…

Web后端實戰:(部門管理)

1.準備工作 1.1開發規范 1.1.1前后端分離開發 我們目前基本都是采用的前后臺分離開發方式,如下圖所示: 那么基于前后臺分離開發的模式下,我們后臺開發者開發一個功能的具體流程如何呢?如下圖所示: 需求分析&…

字節尋址(Byte Addressing) 與 Verilog中的寄存器索引

字節尋址(Byte Addressing) 與 Verilog中的寄存器索引 之間的關系。 您的疑問非常正確,直接看 3h1 很容易讓人以為地址就是 0x01。 但答案是:是的,3h1 在這里對應的字節地址(Byte Address)確實是…

Ubuntu遠程桌面

方法1: 檢查并使用已安裝的VNC或遠程桌面組件 請在終端中執行以下命令檢查系統中已安裝的相關組件: bash# 檢查系統中已安裝的VNC和遠程桌面相關軟件 dpkg -l | grep -E "vnc|vino|remote|rdp"# 檢查常見遠程桌面服務 which vino-server tigervncserver x11vnc xr…

WEB攻防-文件包含LFIRFI偽協議編碼算法無文件利用黑白盒

知識點: 1、文件包含-原理&分類&危害-LFI&RFI 2、文件包含-利用-黑白盒&無文件&偽協議 一、演示案例-文件包含-原理&分類&利用 1、原理 程序開發人員通常會把可重復使用的函數寫到單個文件中,在使用某些函數時&#xff…

LabVIEW的GPIB儀器校準

基于LabVIEW開發平臺與 GPIB 總線技術,采用是德科技、泰克等硬件設備,構建示波器與頻譜分析儀自動校準系統。通過圖形化編程實現校準流程自動化,涵蓋設備連接、參數配置、數據采集、誤差分析及報告生成,顯著提升校準效率與精度&am…

Zotero中進行文獻翻譯【Windows11】

zotero官網:https://www.zotero.org/ 1 在Zotero軟件中安裝插件 進入Zotero百科全書,依次點擊:插件→翻譯插件→插件介紹→Zotero 中文社區插件商店 進去后搜索pdf2zh,然后下載后放入空白文件夾zotero-pdf2zh 打開Zotero軟件后…

用U盤啟動制作centos系統最常見報錯,系統卡住無法繼續問題(手把手)

一、按照操作系統centos7報錯如下(U盤) 按照系統報錯如下: ERROR: could not insert ‘floppy’; ERROR: could not insert ‘edd’ : No這種報錯很常見,基本上就是u盤啟動路徑找不到導致,遇到次數比較多所以也比較好解…