使用spark-sql-perf评测spark 2.0
2016-12-13 00:00
351 查看
摘要: 基础环境的安装
davies/tpcds-kit 下载、编译、部署
databricks/spark-sql-perf 下载、打包
运行TPCDS测试
文章分为四个部分讲述怎样使用spark官方评测工具评测spark 2.0 tpc ds支持情况
基础环境的安装
davies/tpcds-kit 下载、编译、部署
databricks/spark-sql-perf 下载、打包
运行TPCDS测试
virtualbox安装四台虚拟机(centos 7.2,16G内存,4核):master,worker1,worker2,worker3(centos下)
spark版本:2.0
hadoop版本:2.6
安装请参考:hadoop安装或者Spark On Yarn安装
安装后的截图
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/12/2f1f5becc6ab8e13bc13df3c3fccc4f7.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/12/89f75f861cb97ba34ba6422d1e640813.png)
接下来,拷贝tpcds-kit到所有机器的相同目录下(重要)
修改sbt.build,更改scala版本为2.11.8
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/12/b4013d9124762b453486da655acbd1ee.png)
打包成jar包
设置Project Structure
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/12/f5367fe41338f1f0121c1166e77eefdc.png)
设置Artifacts
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/12/346494f4d02f0a0c5e14f3b1ad02e565.png)
Build
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/12/d660a5b6faa6177765ffab11d8e43ed3.png)
jar包不需要每个节点都有
在spark-shell中我们可以调用 _experiment.html_查看执行状态
HDFS上生成的数据截图
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/12/ce31d2d525a66235de2779274604b4a6.png)
运行截图
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/12/f9a5bb2462d82a9ce172a209089dc948.png)
运行结果保存在spark/performance目录下
HDFS上的评测结果截图
davies/tpcds-kit 下载、编译、部署
databricks/spark-sql-perf 下载、打包
运行TPCDS测试
文章分为四个部分讲述怎样使用spark官方评测工具评测spark 2.0 tpc ds支持情况
基础环境的安装
davies/tpcds-kit 下载、编译、部署
databricks/spark-sql-perf 下载、打包
运行TPCDS测试
基础环境的安装
刀片机:1台 126G内存 64核心 centos 7.2virtualbox安装四台虚拟机(centos 7.2,16G内存,4核):master,worker1,worker2,worker3(centos下)
spark版本:2.0
hadoop版本:2.6
安装请参考:hadoop安装或者Spark On Yarn安装
安装后的截图
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/12/2f1f5becc6ab8e13bc13df3c3fccc4f7.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/12/89f75f861cb97ba34ba6422d1e640813.png)
davies/tpcds-kit 下载、编译、部署
简介
davies/tpcds-kit是用来生成测试数据的工具下载
git clone https://github.com/davies/tpcds-kit.git编译
任选一台机器(这里我们选择master)安装以下编译工具(默认软件里没有编译工具)yum install gcc gcc-c++ bison flex cmake ncurses-devel cd tpcds-kit/tools cp Makefile.suite Makefile #复制Makefile.suite为Makefile make #运行make命令
接下来,拷贝tpcds-kit到所有机器的相同目录下(重要)
scp -r /目录/tpcds-kit root@worker1:/目录/tpcds-kit #执行三次该命令复制到worker1,worker2,worker3
databricks/spark-sql-perf 下载、打包
下载
git clone https://github.com/databricks/spark-sql-perf.git打包
使用sbt package打包的jar在使用时会出现依赖找不到情况,我们使用Intellij Idea导入该工程修改sbt.build,更改scala版本为2.11.8
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/12/b4013d9124762b453486da655acbd1ee.png)
打包成jar包
设置Project Structure
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/12/f5367fe41338f1f0121c1166e77eefdc.png)
设置Artifacts
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/12/346494f4d02f0a0c5e14f3b1ad02e565.png)
Build
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/12/d660a5b6faa6177765ffab11d8e43ed3.png)
jar包不需要每个节点都有
运行TPCDS测试
更改spark.env中的driver内存限制
SPARK_DRIVER_MEMORY=8G #依具体情况而定运行spark-shell
cd spark-2.0.0-bin-hadoop2.6 ./bin/spark-shell --jars /jar包目录/spark-sql-perf.jar --num-executors 20 --executor-cores 2 --executor-memory 8G --master spark://master:7077
在spark-shell中运行测试
// 创建sqlContext val sqlContext=new org.apache.spark.sql.SQLContext(sc) import sqlContext.implicits._ // 生成数据 参数1:sqlContext 参数2:tpcds-kit目录 参数3:生成的数据量(GB) val tables=new Tables(sqlCotext,"/目录/tpcds-kit/tools",1) tables.genData("hdfs://master:8020:tpctest","parquet",true,false,false,false,false); // 创建表结构(外部表或者临时表) // talbles.createExternalTables("hdfs://master:8020:tpctest","parquet","mytest",false) talbles.createTemporaryTables("hdfs://master:8020:tpctest","parquet") import com.databricks.spark.sql.perf.tpcds.TPCDS val tpcds=new TPCDS(sqlContext=sqlContext) //运行测试 val experiment=tpcds.runExperiment(tpcds.tpcds1_4Queries)
在spark-shell中我们可以调用 _experiment.html_查看执行状态
HDFS上生成的数据截图
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/12/ce31d2d525a66235de2779274604b4a6.png)
运行截图
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/12/f9a5bb2462d82a9ce172a209089dc948.png)
运行结果保存在spark/performance目录下
HDFS上的评测结果截图
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/12/2682539711dcf8885ddf290fe685633c.png)
相关文章推荐
- 使用spark-sql-perf评测spark 2.0
- 在Apache Spark 2.0中使用 DataFrames 和 SQL
- Apache Spark 2.0中使用DataFrames和SQL
- Scripts:找出10个最高使用的过程perf_top_10_procedures.sql
- [ASPNET2.0]Membership类+SQLServer2005,AspNet_regsql.exe的使用
- [ASPNET2.0]Membership类+SQLServer2005,AspNet_regsql.exe的使用
- 关于SQL Server 2005 与 Asp.net 2.0 中的 SQLCacheDependency 的使用
- ADO.NET 2.0 - 读者询问能否使用 SqlBulkCopy 对象来大量复制文字文件
- Scripts:找出使用最多buffer get的SQL脚本perf_top_sql_by_buffer_gets.sql
- Scott Mitchell 的ASP.NET 2.0数据教程之四十八 使用SqlDataSource控件查询数据
- ASP.NET 2.0 分页技术之使用纯sql语句的双top分页篇
- SQL Server Report Builder 2.0中使用custom code实现sum distinct
- AggregateCacheDependency、CacheDependency、SqlCacheDependency Asp.net 2.0和Sql Server的缓存管理和使用ObjectBuilder改造PetShop4 的缓存示例
- [ASPNET2.0]Membership类+SQLServer2005,AspNet_regsql.exe的使用[转]
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC SQLPERF提供所有数据库的事务日志空间使用情况统计信息
- [ASPNET2.0]Membership类+SQLServer2005,AspNet_regsql.exe的使用
- ADO.NET 2.0 - 读者询问能否使用 SqlBulkCopy 对象来大量复制文字文件
- .NET 2.0 SQL依赖注意事项(转载:原文《使用SQL Server 2005 Query Notification的几个注意事项》)
- AggregateCacheDependency、CacheDependency、SqlCacheDependency Asp.net 2.0和Sql Server的缓存管理和使用ObjectBuilder改造PetShop4 的缓存示例
- [ASPNET2.0]Membership类+SQLServer2005,AspNet_regsql.exe的使用