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 |
备注 |