TPC-DS数据

MaxCompute通过TPC-DS官方工具生成了10GB、100GB、1TB、10TB四个规格的TPC-DS数据,此数据方便您在做产品测试时使用。本文为您介绍MaxCompute公开数据集中TPC-DS数据的基本信息,以及如何通过MaxCompute执行TPC-DS数据查询。

简介

TPC BenchmarkTM DS (TPC-DS)是全球最知名的数据管理系统评测基准标准化组织TPC(事务性管理委员会)制定的标准规范,并由TPC管理测试结果的发布。

MaxCompute通过TPC-DS官方工具生成了10GB、100GB、1TB、10TB四个规格的TPC-DS数据,存储在MaxCompute公开项目BIGDATA_PUBLIC_DATASET中不同的Schema下(Schema详细信息请参见Schema操作)。只要您已开通MaxCompute服务并创建项目,就可以通过跨项目访问的方式查询TPC-DS数据表,数据表信息如下所示。

数据规格

项目名称

Schema名称

表名称

10 GB

BIGDATA_PUBLIC_DATASET

TPCDS_10G

call_center

catalog_page

catalog_returns

catalog_sales

customer

customer_address

customer_demographics

date_dim

household_demographics

income_band

inventory

item

promotion

reason

ship_mode

store

store_returns

store_sales

tab_reducenum

tab_reducenum_100

time_dim

warehouse

web_page

web_returns

web_sales

web_site

100 GB

BIGDATA_PUBLIC_DATASET

TPCDS_100G

1 TB

BIGDATA_PUBLIC_DATASET

TPCDS_1T

10 TB

BIGDATA_PUBLIC_DATASET

TPCDS_10T

说明

声明

  • MaxCompute公开数据集中的TPC-DS的数据生成与分析基于TPC-DS的基准测试,并不能与已发布的TPC-DS基准测试结果相比较,因为通过MaxCompute公开数据集进行的测试并不符合TPC-DS基准测试的所有要求。

  • MaxCompute提供的TPC-DS只能用于产品测试,数据将不做周期更新,因此请您勿用于正式生产。

  • MaxCompute提供的TPC-DS数据源于TPC,您也可以选择自行生成TPC-DS数据,生成TPC-DS测试数据详情请参见TPC-DS官方文档

可用地域

地域

地域ID

华东1(杭州)

cn-hangzhou

华东2(上海)

cn-shanghai

华北2(北京)

cn-beijing

华北3(张家口)

cn-zhangjiakou

华北6(乌兰察布)

cn-wulanchabu

华南1(深圳)

cn-shenzhen

西南1(成都)

cn-chengdu

中国香港

cn-hongkong

新加坡

ap-southeast-1

日本(东京)

ap-northeast-1

马来西亚(吉隆坡)

ap-southeast-3

印度尼西亚(雅加达)

ap-southeast-5

美国(硅谷)

us-west-1

美国(弗吉尼亚)

us-east-1

英国(伦敦)

eu-west-1

德国(法兰克福)

eu-central-1

阿联酋(迪拜)

me-east-1

华东2金融云

cn-shanghai-finance-1

华北2金融云(邀测)

cn-beijing-finance-1

华南1金融云

cn-shenzhen-finance-1

华北2阿里政务云1

cn-north-2-gov-1

注意事项

公开数据集对所有的MaxCompute用户开放。在使用过程中,您需要注意:

  • 公开数据集的数据均存储在BIGDATA_PUBLIC_DATASET项目中,但所有用户并未被加入到该项目中,即非项目空间成员。因此需要跨项目访问数据,在编写SQL脚本时,必须在表名前指定项目名称及Schema名称。同时,未开启租户级Schema语法开关的用户需要开启Session级Schema语法,才能保证命令正常运行,命令示例如下:

    --开启Session级Schema语法
    set odps.namespace.schema=true; 
    --本样例文件中提供的query为tpcds_10g,若您希望运行其他规格的数据集,请手动替换为其他规格对应的Schema名称。
    select * from bigdata_public_dataset.tpcds_10g.store_sales limit 100;
    说明

    您无需为公开数据集的数据支付存储费用,但是您需要支付执行查询语句产生的相应计算费用。费用计算规则请参见计算费用(包年包月)计算费用(按量计费)

  • 由于公开数据集需要跨项目访问,您在DataWorks的数据地图中无法查找到公开数据集中的表。

  • 由于TPC-DS数据集存放于支持按Schema存储的项目下,未开启租户级别Schema语法的用户无法在DataWorks数据分析提供的公开数据集中直接查看,但您依旧可以通过我们提供的SQL语句进行查询。

  • 由于是跨项目访问数据,为了保证SQL运行效果,您需要设置以下Flag。

    -- tpcds table schema使用的decimal int等类型,需要开启以下flag才能运行
    set odps.sql.hive.compatible=true;
    set odps.sql.type.system.odps2=true;
    set odps.sql.decimal.odps2=true;
    -- 以下3个flag,新建项目的Flag值和下面列举相同,存量项目的Flag值可能会不同(存量项目担心对已有Query造成影响,Flag值会保持不变)。
    -- 建议使用setproject修改成系统默认值,如果不设置可能会导致order by不包含limit的语句报错,还可能会导致q72 Query join order不够好运行时间特别长:
    set odps.sql.validate.orderby.limit=false;
    set odps.optimizer.join.reorder.enable=true;
    set odps.optimizer.column.stat.enable=true;
    -- tpcds对于q77会使用笛卡尔积,MaxCompute笛卡尔积对于sort-merge join默认不支持,如需使用请设置如下session级别的Flag。
    set odps.sql.allow.cartesian=true;

执行TPC-DS Query

前提条件

已开通MaxCompute并已创建项目,详情请参见创建MaxCompute项目

支持的工具或平台

Query样例文件

MaxCompute提供了针对不同数据规格的Query样例文件,每个文件内包含99个查询,这些查询的复杂性和扫描数据范围差异很大,请谨慎选取执行,避免产生大量计算费用。您也可以使用TPC-DS基准套件中的工具生成这些查询的不同版本,不同版本因参数值而异,详情请参见TPC-DS官方文档

数据规格

Query文件

10 GB

MaxCompute-TPCDS_10G-99-query

100 GB

MaxCompute-TPCDS_100G-99-query

1 TB

MaxCompute-TPCDS_1T-99-query

10 TB

MaxCompute-TPCDS_10T-99-query

说明

本文提供的Query样例文件内容源于TPC-DS的基准测试,通过上述文件查询所得结果并不能与已发布的TPC-DS基准测试结果相比较,因为通过MaxCompute公开数据集进行的测试并不符合TPC-DS基准测试的所有要求。更多信息请参见TPC