
# DLI预置的SQL模板中TPC-H样例数据说明
当您首次登录DLI管理控制台时，系统会自动为您创建名为"tpch"的测试数据库，并生成TPC-H标准测试数据集。这些测试表可用于熟悉DLI的基本操作和SQL语法，您可以在预置的SQL模板中选择tpch的标准语句进行测试。
#### TPC-H样例数据简介
TPC-H（商业智能计算测试） 是交易处理效能委员会（TPC,Transaction Processing Performance Council) 组织制定的用来模拟决策支持类应用的一个测试集。目前，在学术界和工业界普遍用来评价决策支持技术方面应用的性能。这种商业测试可以全方位评测系统的整体商业计算综合能力，对厂商的要求更高，同时也具有普遍的商业实用意义，目前在银行信贷分析和信用卡分析、电信运营分析、税收分析、烟草行业决策分析中都有广泛的应用。
TPC-H 基准测试是由 TPC-D（由 TPC 组织于 1994 年制定的标准，用于决策支持系统方面的测试基准）发展而来的。TPC-H用3NF实现了一个数据仓库，共包含8个基本关系，其数据量可以设定从1G\~3T不等。TPC-H 基准测试包括 22 个查询(Q1\~Q22)，其主要评价指标是各个查询的响应时间，即从提交查询到结果返回所需时间。TPC-H 基准测试的度量单位是每小时执行的查询数( QphH@size)，其中"H"表示每小时系统执行复杂查询的平均次数，"size"表示数据库规模的大小，能够反映出系统在处理查询时的能力。TPC-H 是根据真实的生产运行环境来建模的,这使得它可以评估一些其他测试所不能评估的关键性能参数。总而言之，TPC组织颁布的TPC-H 标准满足了数据仓库领域的测试需求,并且促使各个厂商以及研究机构将该项技术推向极限。
本示例将演示DLI直接对存储在OBS中的TPC-H数据集进行查询的操作，DLI已经预先生成了100M的TPC-H-2.18的标准数据集，已将数据集上传到了OBS的tpch文件夹中，并且赋予了只读访问权限，方便用户进行查询操作。
#### TPC-H的测试和度量指标
TPC-H 测试分解为3 个子测试：数据装载测试、Power测试和Throughput测试。建立测试数据库的过程被称为装载数据，装载测试是为测试DBMS装载数据的能力。装载测试是第一项测试，测试装载数据的时间，这项操作非常耗时。Power 测试是在数据装载测试完成后，数据库处于初始状态，未进行其它任何操作，特别是缓冲区还没有被测试数据库的数据，被称为raw查询。Power测试要求22 个查询顺序执行1 遍，同时执行一对RF1 和RF2 操作。最后进行Throughput 测试，也是最核心和最复杂的测试，更接近于实际应用环境，与Power 测试比对SUT 系统的压力有非常大的增加，有多个查询语句组，同时有一对RF1 和RF2 更新流。
测试中测量的基础数据都与执行时间有关，这些时间又可分为：装载数据的每一步操作时间、每个查询执行时间和每个更新操作执行时间，由这些时间可计算出：数据装载时间、Power@Size、Throughput@Size、QphH@Size 和$/QphH@Size。
Power@Size 是Power 测试的结果，被定义为查询时间和更改时间的几何平均值的倒数，公式如下：
![](https://support.huaweicloud.com/usermanual-dli/zh-cn_image_0000001174159614.png)
其中：Size 为数据规模；SF 为数据规模的比例因子；QI （i，0）为第 i个查询的时间，以秒为单位；R（I j，0）为 RFj更新的时间，以秒为单位。
Throughput@Size 是Throughput 测试的结果，被定义为所有查询执行时间平均值的倒数，公式如下：
![](https://support.huaweicloud.com/usermanual-dli/zh-cn_image_0000001220037927.png)
#### 业务场景
用户可以通过DLI内置的TPC-H测试套件进行简单高效的交互式查询，无需用户上传数据，即可以体验DLI的核心功能。
#### DLI内置TPC-H的优势
- 用户只需要登录DLI，完成授予权限，即可操作SQL语句，无需用户自己创建表和导入数据。
- 预置22条TPC-H SQL查询模板，功能丰富，可满足大部分的商业场景，无需用户自行下载TPC-H的查询语句，省时省力。
- 用最小的时间代价体验serverless化的DLI产品，领略数据湖带给我们的全新体验。
 
#### 注意事项
子账号使用TPC-H测试套件时，需要主账号为子账号赋权OBS访问权限和查看主账号表的权限；如果主账号未登录过DLI服务，子账号除上述权限外，还需要创建数据库和创建表的权限。
#### 使用TPC-H样例模板开发并提交SQL作业
为了便捷快速地执行SQL操作，DLI支持定制模板或将正在使用的SQL语句保存为模板。保存模板后，不需编写SQL语句，可通过模板直接执行SQL操作。
1. 登录DLI管理控制台。
2. 在DLI管理控制台，选择"作业模板"\>"SQL模板"\>"样例模板"，在"tpchQuery"下找到"Q1_价格摘要报告查询"样例模板，单击操作列的"执行"进入"SQL编辑器"。 ![](https://support.huaweicloud.com/usermanual-dli/zh-cn_image_0000001992783049.png "点击放大")
   
3. 在"SQL编辑器"页面右侧的编辑窗口上方，"执行引擎"选择"spark"，"队列"选择"default"，"数据库"选择"default"，单击"执行"。 ![](https://support.huaweicloud.com/usermanual-dli/zh-cn_image_0000001956063756.png "点击放大")
   
4. SQL作业编辑窗口下方"查看结果"页签查看查询结果。 ![](https://support.huaweicloud.com/usermanual-dli/zh-cn_image_0000001992783061.png "点击放大")
   
本示例使用系统预置的"default"队列和数据库进行演示，也可以在自建的队列和数据库下执行。
