使用TPCDS或者hive-testbench-hdp3生成数据

1.TPCDS

下载
官网:
https://www.tpc.org/tpc_documents_current_versions/current_specifications5.asp
官网可能需要连接外网VPN才能下载。

将下载好的安装包解压到路径/opt/tpcds并改名字为tpcds3.2.0

安装编译环境

yum -y install gcc gcc-c++ expect

编译tpcds
进入tools目录

cd /opt/tpcds/tpcds3.2.0/tools

在该目录下执行make命令进行编译

make

生成数据,生成数据大小和生成数据目录按自己需求配置

mkdir/opt/tpcds/tpcdsdata
cd /opt/tpcds/tpcds3.2.0/tools
./dsdgen -SCALE 1GB -DIR /root/tpcdsdata

完成后进入生成数据的目录即可看到生成的数据。

由于生成的数据不能直接导入数据库中,所以需要手动导入

在Hive中创建相应数据库:

Create database dbname;

建表语句保存在tools目录下的tpcds.sql文件中,需做一定的修改。
建表之后导入事先创建的数据:

LOAD DATA local INPATH "/opt/tpcds/tpcdsdata/date_dim.dat" OVERWRITE INTO TABLE dbname.date_dim;

依次导入25张表的数据。
存在的问题
用该方式创建的Hive表没有分区和统计信息等,且比较麻烦。因此推荐直接使用hive-testbench-hdp

hive-testbench-hdp3

  1. 下载压缩包

    github地址:

    https://github.com/hortonworks/hive-testbench

  2. 将下载的压缩包解压到/opt/tpcds

  3. 安装编译环境

sudo yum group install "Development Tools"
该命令将安装一堆新的相关软件包,包括gcc,g++和make。
验证是否已成功安装GCC编译器
gcc –version
  1. 编译
    在hive-testbench-hdp3目录下执行./tpcds-build.sh
    如果服务器没有配置maven,执行该命令会自动装配。
    该过程很漫长。
  2. 生成测试数据
    在hive-testbench-hdp3目录下执行
./tpcds-setup.sh 10 /tpcds

其中10表示生成10G大小数据,/tpcds指生成数据的hdfs路径。
6. 存在问题及解决方案
生成数据后可以在hdfs指定目录下找到相应的数据,但是在hive中确没有相应数据库。
解决:
开启Hive的metastore和hiveserver2服务:

hive --service metastore -p 9083 &
hive --service hiveserver2 &

将tpcds-setup.sh脚本中的hive链接地址修改为自己的:

HIVE= "beeline …"
  1. 配置beeline连接Hive
    在hadoop的cort-site.xml文件中添加以下内容:
<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>

修改配置文件hdfs-site.xml,添加如下内容:

<property>
 <name>dfs.webhdfs.enabled</name>
 <value>true</value>
</property>

修改Hive的hive-site.xml文件,cd /usr/local/hive/conf, 添加以下内容:

<property>
    <name>hive.server2.thrift.client.user</name>
    <value>root</value>
    <description>Username to use against thrift client</description>
  </property>
  <property>
    <name>hive.server2.thrift.client.password</name>
    <value>123456</value>
    <description>Password to use against thrift client</description>
 </property>

重启hadoop和hiveserver2服务。
8. 生成100G测试数据

./tpcds-setup.sh 100 /tpcds

生成完成后进入Hive发现已生成数据库tpcds_bin_partitioned_orc_100
9. 生成统计信息
进入Hive,选中数据库tpcds_bin_partitioned_orc_100,对24张表:

analyze table tableName compute statistics for columns;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值