MPP数据库性能测试

这篇博客主要目的是测试MPP架构数据库的性能,详细介绍了测试环境,包括使用Hadoop 2.7.3和Hive 1.2。数据量为500G,通过tpcds工具生成,并在Hive中进行外表和内表的创建及测试,涉及关联查询操作。测试过程中包括了数据生成、Hive表的创建、数据导入以及性能优化步骤。
摘要由CSDN通过智能技术生成

 

目录

一,测试目的

二,测试环境

1,硬件环境

2,软件环境

三,数据生成

四,hive测试

1,创建hive库表


一,测试目的

       测试MPP架构数据库的性能。

二,测试环境

1,硬件环境

3台虚拟机

 

组件

配置

CPU

32核心

内存

128 GB

磁盘

4T

网卡

千兆网卡

OS

RedHat7.2

2,软件环境

   Hadoop版本:2.7.3;一台NameNode节点,两台DataNode节点。

   hive版本:1.2

   spark版本:2.0

三,数据生成

    

生成数据量大小500G。首先创建生成文件路径:

hadoop fs -mkdir /500G

通过tpcds工具生成,tpcds工具在官网下载,下载后上传到服务器解压,在当前目录执行如下命令(-s表示数据大小500G,-d表示数据在hdfs上存放的路径):

hadoop jar ./target/tpcds-gen-1.1.jar -d /500g/ -s 500

四,hive测试

1,创建hive库表(外表)

登录hive  cli,首先创建数据库tpc:

hive> create database tpc;

然后创建表,本次测试只需创建10张外表,表结构如下:

/*
catalog_sales
warehouse
ship_mode
call_center
date_dim
item
inventory
store_sales
store_returns
store
*/
create external table if not exists tpc.catalog_sales
(
    cs_sold_date_sk           int                       ,
    cs_sold_time_sk           int                       ,
    cs_ship_date_sk           int                       ,
    cs_bill_customer_sk       int                       ,
    cs_bill_cdemo_sk          int                       ,
    cs_bill_hdemo_sk          int                       ,
    cs_bill_addr_sk           int                       ,
    cs_ship_customer_sk       int                       ,
    cs_ship_cdemo_sk          int                       ,
    cs_ship_hdemo_sk          int                       ,
    cs_ship_addr_sk           int                       ,
    cs_call_center_sk         int                       ,
    cs_catalog_page_sk        int                       ,
    cs_ship_mode_sk           int                       ,
    cs_warehouse_sk           int                       ,
    cs_item_sk                int               ,
    cs_promo_sk               int                       ,
    cs_order_number           int               ,
    cs_quantity               int                       ,
    cs_wholesale_cost         decimal(7,2)                  ,
    cs_list_price             decimal(7,2)                  ,
    cs_sales_price            decimal(7,2)                  ,
    cs_ext_discount_amt       decimal(7,2)                  ,
    cs_ext_sales_price        decimal(7,2)                  ,
    cs_ext_wholesale_cost     decimal(7,2)                  ,
    cs_ext_list_price         decimal(7,2)                  ,
    cs_ext_tax                decimal(7,2)                  ,
    cs_coupon_amt             decimal(7,2)                  ,
    cs_ext_ship_cost          decimal(7,2)                  ,
    cs_net_paid               decimal(7,2)                  ,
    cs_net_paid_inc_tax       decimal(7,2)                  ,
    cs_net_paid_inc_ship      decimal(7,2)                  ,
    cs_net_paid_inc_ship_tax  decimal(7,2)                  ,
    cs_net_profit             decimal(7,2)      
)row format delimited fields terminated by '|' 
location '/500g/catalog_sales';


create external table if not exists tpc.warehouse
(
    w_warehouse_sk            int               ,
    w_warehouse_id            char(16)              ,
    w_warehouse_name          varchar(20)                   ,
    w_warehouse_sq_ft         int                       ,
    w_street_number           char(10)                      ,
    w_street_name             varchar(60)                   ,
    w_street_type             char(15)                      ,
    w_suite_number            char(10)                      ,
    w_city                    varchar(60)                   ,
    w_county                  varchar(30)                   ,
    w_state                   char(2)                       ,
    w_zip                     char(10)                      ,
    w_country                 varchar(20)                   ,
    w_gmt_offset              decimal(5,2)            
)row format delimited fields terminated by '|' 
location '/500g/warehouse';


create external table if not exists tpc.ship_mode
(
    sm_ship_mode_sk           int               ,
    sm_ship_mode_id           char(16)              ,
    sm_type                   char(30)                      ,
    sm_code                   char(10)                      ,
    sm_carrier                char(20)                      ,
    sm_contract               char(20)       
)row format delimited fields terminated by '|' 
location '/500g/ship_mode';

create external table if not exists tpc.call_center
(
    cc_call_center_sk         int               ,
    cc_call_center_id         char(16)              ,
    cc_rec_start_date         date                          ,
    cc_rec_end_date           date                          ,
    cc_closed_date_sk         int                       ,
    cc_open_date_sk           int                       ,
    cc_name                   varchar(50)                   ,
    cc_class                  varchar(50)                   ,
    cc_employees              int                       ,
    cc_sq_ft                  int                       ,
    cc_hours          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值