首页 > 数据库 >【TPC-DS】trino+S3+hive+postgresql性能测试----生成简单数据验证环境(四)

【TPC-DS】trino+S3+hive+postgresql性能测试----生成简单数据验证环境(四)

时间:2022-10-21 11:33:42浏览次数:72  
标签:varchar center S3 hive char cc call postgresql trino

1、安装与配置

下载安装包

git clone https://github.com/gregrahn/tpcds-kit.git
cd tpcds-kit/tools
make OS=LINUX

存放的位置为:/root/trino (备注:自己定义即可,尽量与trino-server-363放在同一层目录,方便自己查找)

 

(125\124\123\122)环境安装:awscil

yum -y install awscli

 

配置环境

注意:每台服务器都要进行相同的配置

aws configure
aws_access_key_id = GVO55HIKELKQIN4QSOPL
aws_secret_access_key = XgdhYuGsXHHg3yi0WySVQ8GwztW4SpIrL5irUdlA
Default region name [None]: cn-south-2
Default output format [None]: json

【TPC-DS】trino+S3+hive+postgresql性能测试----生成简单数据验证环境(四)_hive

2、生成测试数据

如何编译及使用TPC-DS生成测试数据:​​https://cloud.tencent.com/developer/article/1078882​

(可根据自己的方式存放)数据存放的目录,示例图如下截图所示:

cd /root/trino/tpcds-kit
mkdir TpcdsData
cd /root/trino/tpcds-kit/tools
./dsdgen -SCALE 1GB -DIR /root/trino/tpcds-kit/TpcdsData #单条生成测试数据
./dsdgen -SCALE 500GB -DIR /root/trino/tpcds-kit/TpcdsData -parallel 4 -child 4

单独在开一个窗口,执行命令查看数据生成情况

cd /root/trino/tpcds-kit/TpcdsData
du -sh *

【TPC-DS】trino+S3+hive+postgresql性能测试----生成简单数据验证环境(四)_postgresql_02

 

3、修改mys3文件

(124)在生成数据的目录下,新建一个script文件夹存放mys3.sh文件,示例:/root/trino/tpcds-kit/TpcdsData/script/mys3.sh

选择一个语句,进行环境的验证,示例:选择了第一个语句,将/root/trino/tpcds-kit/TpcdsData/call_center.dat的TPC数据写入到S3的call_center中

aws --endpoint-url http://obs.cn-southwest-2.myhuaweicloud.com s3 cp /root/trino/tpcds-kit/TpcdsData/call_center.dat s3://fastdata-tsdb/deepdevhwc/syw_postgreSQL_TPCds/call_center/

 

查看目录是否生成,ls(向库中插入数据时,会读catalog_returns目录下的所有文件),命令如下

aws --endpoint-url http://obs.cn-southwest-2.myhuaweicloud.com s3 ls s3://fastdata-tsdb/deepdevhwc/syw_postgreSQL_TPCds/catalog_returns/

 

删除文件,rm,命令如下

aws --endpoint-url http://obs.cn-southwest-2.myhuaweicloud.com s3 rm s3://fastdata-tsdb/deepdevhwc/syw_postgreSQL_TPCds/web_returns

 

截图所示:如上2条命令的执行结果示例

【TPC-DS】trino+S3+hive+postgresql性能测试----生成简单数据验证环境(四)_hive_03

验证数据写入是否成功,继续下面的执行可查看结果

 

4、hive与postgresSQL中创建库与表

参考下面的2个文件,存放目录在:,详见hivesf500-tables.txt中建表语句(先已call_center为例进行验证)

 (不关注,直接向下执行)示例:alltables.sql内容中的几个示例

 

 (不关注,直接向下执行)示例:hivesf500-tables.txt内容中的几个示例

 

  • 进入trino,hive库创建call_center的表。
cd /root/trino/trino-server-363

./trino --server 10.201.0.125:8080 --catalog hive

trino> show schemas;

 

注意:此处创建的库名称tpcds要与catalog>postgresql.properties中配置的库名一致

trino> create database tpcds;

【TPC-DS】trino+S3+hive+postgresql性能测试----生成简单数据验证环境(四)_数据_04

trino> use tpcds;

注意:call_center的创建语句,来自于【hivesf500-tables.txt】的第一个

 

trino:tpcds> create table if not exists call_center(
-> cc_call_center_sk bigint
-> , cc_call_center_id char(16)
-> , cc_rec_start_date date
-> , cc_rec_end_date date
-> , cc_closed_date_sk bigint
-> , cc_open_date_sk bigint
-> , cc_name varchar(50)
-> , cc_class varchar(50)
-> , cc_employees int
-> , cc_sq_ft int
-> , cc_hours char(20)
-> , cc_manager varchar(40)
-> , cc_mkt_id int
-> , cc_mkt_class char(50)
-> , cc_mkt_desc varchar(100)
-> , cc_market_manager varchar(40)
-> , cc_division int
-> , cc_division_name varchar(50)
-> , cc_company int
-> , cc_company_name char(50)
-> , cc_street_number char(10)
-> , cc_street_name varchar(60)
-> , cc_street_type char(15)
-> , cc_suite_number char(10)
-> , cc_city varchar(60)
-> , cc_county varchar(30)
-> , cc_state char(2)
-> , cc_zip char(10)
-> , cc_country varchar(20)
-> , cc_gmt_offset decimal(5,2)
-> , cc_tax_percentage decimal(5,2)
-> )WITH (
-> external_location = 's3a://fastdata-tsdb/deepdevhwc/syw_postgreSQL_TPCds/call_center',
-> format = 'TEXTFILE',
-> null_format = '',
-> textfile_field_separator = '|'

注:external_location:创建的表call_center将自动去此处配置的目录下读取数据

 

S3数据写入到hive

【重要】根本不需要再次执行任何脚本去写,创建hive表时,已配置了external_location将自动去读取该目录下的数据

 

#查看S3数据写入到hive是否成功,执行语句:

select count(1) from
select * from call_center limit 1;

【TPC-DS】trino+S3+hive+postgresql性能测试----生成简单数据验证环境(四)_数据_05

 

  • postgresql库创建call_center的表
cd /root/trino/trino-server-363
[root@cluster-data-node-02 trino-server-363]# ./trino --server 10.201.0.125:8080 --catalog postgresql --schema public
trino:public> show tables;

在tpcds的库中创建表call_center。

trino:public>create table if not exists call_center(
cc_call_center_sk bigint
, cc_call_center_id char(16)
, cc_rec_start_date date
, cc_rec_end_date date
, cc_closed_date_sk bigint
, cc_open_date_sk bigint
, cc_name varchar(50)
, cc_class varchar(50)
, cc_employees int
, cc_sq_ft int
, cc_hours char(20)
, cc_manager varchar(40)
, cc_mkt_id int
, cc_mkt_class char(50)
, cc_mkt_desc varchar(100)
, cc_market_manager varchar(40)
, cc_division int
, cc_division_name varchar(50)
, cc_company int
, cc_company_name char(50)
, cc_street_number char(10)
, cc_street_name varchar(60)
, cc_street_type char(15)
, cc_suite_number char(10)
, cc_city varchar(60)
, cc_county varchar(30)
, cc_state char(2)
, cc_zip char(10)
, cc_country varchar(20)
, cc_gmt_offset decimal(5,2)
, cc_tax_percentage decimal(5,2)
);

 

5、insert插入数据

hive数据写入到postgresql

在hive的SQL编辑器中执行命令如下,检查数据是否可写入成功,此时为验证环境,可以采用一条insert命令即可

trino:tpcds> insert into postgresql.public.call_center select * from

【TPC-DS】trino+S3+hive+postgresql性能测试----生成简单数据验证环境(四)_数据_06

验证postgresql中数据是否写成功,在postgresql编辑器中执行查询语句即可

【TPC-DS】trino+S3+hive+postgresql性能测试----生成简单数据验证环境(四)_数据_07

 

 

  作者:Syw



标签:varchar,center,S3,hive,char,cc,call,postgresql,trino
From: https://blog.51cto.com/u_15739244/5781762

相关文章

  • mac上fisco bcos3.0安装部署
    fiscobcos3.0包括Air、Pro、Max三个版本,Air适合新手或者开发人员进行测试入门使用,下面就mac电脑安装Air版本进行说明。一、搭建Air版本的fiscobcos联盟链1、安装依赖......
  • 用FineBI实现hive图表的可视化
    图表的可视化,本来我以为很麻烦,因为看着图就感觉很难的样子,其实用FineBI来做很简单。1.安装FineBI2将下列jar包导入FineBI,webapps\webroot\WEB-INF\lib中     ......
  • Hive SQL DDL建表高阶语法
    Hive内部表、外部表什么是内部表 内部表(Internaltable)也称为被Hive拥有和管理的托管表(Managedtable)。默认情况下创建的表就是内部表,Hive拥有该表的结构和文件......
  • postgresql13源码安装部署并部署主从同步和切换
    环境:Os:Centos7DB:13.8主库:192.168.1.134从库:192.168.1.135 ########################################主库:192.168.1.134######################################......
  • HTML5和CSS3的新特性
    HTML5的新特性1.用于绘画的canvas元素;2.用于媒介回放的video和audio;3.本地离线存储;4.新标签:header,footer,nav,section,article5.新的表单控件:date,time,email,url,cale......
  • Sqoop使用mysql上传表到Hive报错
      前几天建民老大给我们进行了第二次的Hive测试,很遗憾,题目很简单,但是我一下午一项都没实现。  而导致我最终也没实现的原因,就是sqoop的一些配置的问题。  因为建民......
  • Hive第二次测试总结
      首先看一下题目:Result文件数据说明:Ip:106.39.41.166,(城市)Date:10/Nov/2016:00:01:02+0800,(日期)Day:10,(天数)Traffic:54,(流量)Type:video,(类型:视频video或文章arti......
  • java连接ranger+ldap认证的hive
        使用java连接ranger+ldap认证的hive,通过jdbc加上用户名密码即可,代码示例如下:importjava.sql.*;publicclassJdbcHiveLdap{privatestaticString......
  • CSS3 -3D转换-位移translate、旋转 rotate3d、透视 perspective、呈现transfrom-style
    CSS-3D转换-位移:translate、旋转:rotate3d、透视:perspective、呈现transfrom-style3D转换我们主要学习工作中最常用的3D位移和3D旋转3D位移:translate3d(x,y,z)3D......
  • SQL:hive函数大全
    hive2.0函数大全:官方连接:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-Built-inOperators 1、聚合函数 2、日期函数......