TPCH匯入資料庫及學習
我們使用TPCH生成測試資料集來進行資料探勘演算法的測試,這是學習記錄
一、TPC-H簡介
TPC-H是TPC提供的一個benchmark,用來模擬一個現實中的商業應用,可以生成一堆虛構的資料,且自帶一些查詢,可以匯入到各種資料庫中來模擬現實需求,檢查效能
二、獲取TPC-H檔案
進入官網 http://www.tpc.org/tpch/ ,最左下邊欄目裡找到Downloads,點選進入,然後找到TPC-H對應的source code下載到本地
三、匯入到資料庫
匯入到Mysql:https://www.cnblogs.com/zyz2085/p/9762878.html
匯入到Hive:https://www.cnblogs.com/zyz2085/p/9806555.html
四、TPC-H學習
1.TPC-H各欄位的含義
圖例:·每個表名後面的括號內為這個表的列名的字首; ·箭頭指出表與表之間的一對多的關係; ·每個表名下方的數字或公式表示表的行數。一些是 SF(Scale Factor)中的因子,用 來獲得資料庫的大小。在 LINEITEM 表中的行數是近似值
2.各表資訊
(1) suplier表——供應商資訊:key + 姓名、地址、電話、國家程式碼、餘貨、評論 。其中國家程式碼需要和 nation 表做 join 以獲得詳細國家資訊。
suppkey |
供應商序號 |
name |
供應商名稱 |
address |
地址 |
nationkey |
國家程式碼 |
phone |
電話 |
acctbal |
餘貨 |
comment |
備註 |
(2) region表——地區資訊:key + 地區名
regionkey |
地區程式碼 |
name |
地區名稱 |
comment |
備註 |
(3) customer表——使用者表:key + 姓名、地址、國家代號、電話等 。使用者表按照 key 做 64 個 hash 分割槽
custkey |
主鍵 |
name |
姓名 |
address |
地址 |
nationkey |
|
phone |
電話 |
acctbal |
餘額 |
mktsegment |
|
comment |
備註 |
(4) part配件表——配件表:key + 配件名、廠商、品牌、型別、大小、包裝、零售價
PARTKEY |
配件序號 |
name |
配件名 |
mfgr |
廠商 |
brand |
品牌 |
type |
型別 |
size |
大小 |
container |
包裝 |
retailprice |
零售價 |
comment |
備註 |
(5) partsupp配件供應表——配件key + 供應商key + 供應數量、批發價、評論
partkey |
配件序號 |
suppkey |
供應商序號 |
availqty |
供應量 |
supplycost |
批發價 |
comment |
備註 |
(6) orders零售訂單表——訂單key + 客戶key + 訂單狀態、訂單總價、下單日期、優先順序、收銀員、發貨優先順序
orderkey |
訂單編號 |
custkey |
顧客序號 |
orderstatus |
訂單狀態 |
totalprice |
總價 |
orderdate |
下單日期 |
orderpriority |
訂單優先順序 |
clerk |
收銀員 |
shippriority |
發貨優先順序 |
comment |
備註 |
(7) lineitem訂單明細表——訂單key + 配件key + 供應商key + 流水號、數量、價格、折扣、稅、明細狀態、發貨日期、預計到達日期、實際到達日期、運單處理策略(原返?拒收退回?等)、運輸途徑(火車、汽運、郵寄等)
orderkey |
訂單編號 |
partkey |
配件序號 |
suppkey |
供應商序號 |
linenumber |
流水號 |
quantity |
數量 |
extendedprice |
價格 |
discount |
折扣 |
tax |
稅 |
returnflag |
退回標記 |
linestatus |
明細狀態 |
shipdate |
發貨日期 |
commitdate |
預計到達日期 |
receiptdate |
實際到達日期 |
shipinstruct |
運單處理策略 |
shipmode |
運輸途徑 |
comment |
備註 |