Spark-Bench 教程

本文原始地址:https://sitoi.cn/posts/19752.html

系统环境配置

操作系统:centos7

环境要求:安装 JDK, Hadoop, Sparkmvn 运行环境

步骤

  1. 安装测试工具

    1. 安装 wikixmlj
    2. 安装 SparkBench 基准测试组件
    3. 单机环境安装方式
  2. 根据实际环境配置测试环境

    1. 修改基本环境
    2. 配置 Spark 运行参数部分
  3. 运行 Spark-Bench 测试

    1. 机器学习测试案例
    2. 图计算测试案例
    3. SQL 查询测试案例
    4. 流处理测试案例
    5. 其他测试案例
  4. 查看测试结果

安装测试工具

所有步骤在 hdfs 账号下进行:

安装 wikixmlj

克隆项目:项目地址

git clone https://github.com/synhershko/wikixmlj.git

进入项目目录进行 mvn 编译:

cd wikixmlj

mvn package -Dmaven.test.skip=true

mvn install -Dmaven.test.skip=true
安装 SparkBench 基准测试组件

注: ubuntu 系统需要安装以下包:

sudo apt-get install libgfortran3

克隆项目:项目地址

git clone -b legacy https://github.com/CODAIT/spark-bench.git

进入项目目录进行构建:

cd spark-bench/
./bin/build-all.sh
单机环境安装方式

在其他机器上执行上述两步,将两个文件拷贝到需要测试的机器上的 hdfs 账号下

注: ubuntu 系统需要安装额外包

根据实际环境配置测试环境

进入到 spark-bench 目录下修改 conf 目录下的 env.sh

cd spark-bench/
vim conf/env.sh
修改基本环境

根据实际情况修改对应配置

master="<master_ip_address>"                   根据实际情况修改master
MC_LIST=""
HADOOP_HOME=<HADOOP_HOME> 根据实际情况修改HADOOP_HOME
SPARK_HOME=<SPARK_HOME> 根据实际情况修改SPARK_HOME
HDFS_URL="hdfs://${master}:9000" 根据实际情况修改端口号
DATA_HDFS="hdfs://${master}:9000/SparkBench" 根据实际情况修改端口号
配置 Spark 运行参数部分

修改conf目录下的env.sh

SPARK_EXECUTOR_MEMORY=4G                       根据实际情况修改
export SPARK_DRIVER_MEMORY=4g 根据实际情况修改
export SPARK_EXECUTOR_INSTANCES=1 根据实际情况修改
export SPARK_EXECUTOR_CORES=1 根据实际情况修改

运行 Spark-Bench 测试

测试案例 功能
机器学习测试案例 逻辑回归,支持向量机,矩阵分解
图计算测试案例 PageRank,SVD++,三角计数(Triangle Count)
SQL查询测试案例 Hive,RDDRelation
流处理测试案例 Twitter Tag , Page View
其他测试案例 Kmeans,线性回归,决策树,最短路径,标签传播,连通图,强连通图
机器学习测试案例

进入到 spark-bench 目录下,在该目录下执行操作:

测试案例 Workload
逻辑回归 LogisticRegression
支持向量机 SVM
矩阵分解 MatrixFactorization

步骤:

  1. 修改配置参数
  2. 运行生成测试数据脚本
  3. 运行相应案例测试脚本
修改配置参数

<Workload> 根据测试案例表填写实际内容,下同:

vim <Workload>/conf/env.sh
运行生成测试数据脚本
./<Workload>/bin/gen_data.sh
运行相应案例测试脚本
./<Workload>/bin/run.sh
图计算测试案例

进入到 spark-bench 目录下,在该目录下执行操作:

测试案例 Workload
网页排名 PageRank
SVD++ SVDPlusPlus
三角计数 TriangleCount

步骤:

  1. 修改配置参数
  2. 运行生成测试数据脚本
  3. 运行相应案例测试脚本
修改配置参数
vim <Workload>/conf/env.sh
运行生成测试数据脚本
./<Workload>/bin/gen_data.sh
运行相应案例测试脚本
./<Workload>/bin/run.sh

SQL 查询测试案例

进入到 spark-bench 目录下,在该目录下执行操作:

测试案例 Workload
SQL查询 SQL

步骤:

  1. 修改配置参数
  2. 运行生成测试数据脚本
  3. 运行相应案例测试脚本
修改配置参数
vim /<Workload>/conf/env.sh
运行生成测试数据脚本
./<Workload>/bin/gen_data.sh
运行相应案例测试脚本
./<Workload>/bin/run.sh

在运行 SQL 查询案例时,默认是运行其中的 RDDRelation 案例,如果要想运行其中的 Hive 案例可以执行下面代码:

./<Workload>/bin/run.sh hive

流处理测试案例

进入到 spark-bench 目录下,在该目录下执行操作:

测试案例 Workload
流处理 Streaming

步骤:

  1. 修改配置参数
  2. 首先在一个终端中执行生成随机数据
  3. 然后再另一个终端中执行
修改配置参数
vim <Workload>/conf/env.sh

在运行流数据处理案例时,例如 TwitterTag,Streaming 逻辑回归

首先在一个终端中执行生成随机数据

在执行脚本时必须要指定你要运行案例名字的参数,如下:

./<Workload>/bin/gen_data.sh TwitterPopularTags
然后再另一个终端中执行

在执行脚本时必须要指定你要运行案例名字的参数,如下:

./<Workload>/bin/run.sh TwitterPopularTags

当然你也可以在 <Workload>/conf/env.sh 配置文件中指定你要运行的子案例的名称,通过修改 subApp=TwitterPopularTags

其他测试案例

进入到 spark-bench 目录下,在该目录下执行操作:

测试案例 Workload
Kmeans Kmeans
线性回归 LinearRegression
决策树 DecisionTree
最短路径 ShortestPaths
标签传播 LabelPropagation
连通图 ConnectedComponent
强连通图 StronglyConnectedComponent
主成分分析 PCA

步骤:

  1. 修改配置参数
  2. 运行生成测试数据脚本
  3. 运行相应案例测试脚本
修改配置参数
vim <Workload>/conf/env.sh
运行生成测试数据脚本
./<Workload>/bin/gen_data.sh
运行相应案例测试脚本
./<Workload>/bin/run.sh

查看测试结果

spark-bench 目录下的 num 目录下可以查看到运行结果。

相关链接

开源项目官网 : https://github.com/CODAIT/spark-bench/tree/legacy

安装文档 : https://blog.csdn.net/xfg0218/article/details/79250019

Spark-Bench 测试教程的更多相关文章

  1. MyCat安装与测试教程 超详细!

    MyCat安装与测试教程 超详细! MyCat基础知识 一.什么是MYCAT? 1. 一个彻底开源的,面向企业应用开发的大数据库集群 2. 支持事务.ACID.可以替代MySQL的加强版数据库 3. ...

  2. Kail Linux渗透测试教程之免杀Payload生成工具Veil

    Kail Linux渗透测试教程之免杀Payload生成工具Veil 免杀Payload生成工具——Veil Kail Linux渗透测试教程之免杀Payload生成工具Veil,Veil是一款利用M ...

  3. Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap

    Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap 网络扫描和嗅探工具——Nmap Nmap也就网络映射器(Network Mapper),是一个免费开放的网络扫描和嗅探工具.该工具可以扫描 ...

  4. Mac环境下RabbitMq安装与测试教程

    RabbitMq安装与测试教程 Installing on Mac I. 安装 123456789 brew install rabbitmq ## 进入安装目录cd /usr/local/Cella ...

  5. monkey测试===monkeyrunner测试教程(1)

    1.安装测试环境 jdk 安装与配置 android sdk安装与配置 Python编辑器安装与配置 以上安装请自行百度教程 Monkeyrunner使用方法 http://www.android-d ...

  6. 深度相机Astra Pro测试教程

    最近在微信群内,很多群友在群友的推荐下,购买了Astra pro的深度相机,价格地道,物超所值!群友反馈积极,所以这里出一波简单的教程.   以下内容知识抛砖引玉,主要讲解windows下和Ubunt ...

  7. Unity导出iOS真机测试教程

    原地址:http://unity3d.9tech.cn/news/2014/0410/40177.html 学 习了两天的Android开发,我感觉Android开发跟IOS开发和.NET平台下的开发 ...

  8. iOS—最全的真机测试教程

    准备 开发者账号 自从Xcode7 出来之后,一般的真机测试不需要开发者账号,也就不需要看这篇教程,只有app具有“推送”等功能的时候,要真机测试就必须要开发者账号和设置证书.苹果只是让你体验一下它的 ...

  9. 测试教程网.unittest教程.3. 实例: 测试弱密码

    From: http://www.testclass.net/pyunit/test_example_1/ 背景 考虑这样一个测试弱密码的实例,这个我们在pytest相关教程中也有过描述. 我们需要判 ...

随机推荐

  1. day 14

    Sow an act, and you reap a habit. Sow a habit, and you reap a character. Sow a character, and you re ...

  2. git: hook 修改提交信息

    git获取数字顺序版本号 因为git的版本使用的是hash值,不能很直观的看出那个版本,所以想找到一种方法,获取顺序的版本号,在网上找到了方法,可以获取顺序版本号 摘自:[使用bash从SVN和Git ...

  3. GPS和LOAM的pose之间建立edge

    基于时间戳一致原理,在与PG的timestamp邻近的的两个LOAM的pose中插值出一个虚拟的LOAM pose PG' ,其timestamp = PG的timestamp. 然后GPS的pose ...

  4. 执行git log/status等命令时,重新打开了个窗口,必须按q才能退出

    终端运行: git config --global core.pager ''

  5. Windows和Linux简单命令的总结

    MS-DOS 命令提示符(cmd) 启动:                      Win+R,输入cmd回车 切换盘符            盘符名称: 进入文件夹              cd ...

  6. HTTP协议小记

    应用层上的协议非常重要的一个协议是HTTP协议. 这个协议包括了请求和回复两种报文类型. 请求和回复报文的内容形式是 1)起始行 2)首行 3)消息体 请求报文的内容格式是 <version&g ...

  7. java中System.err.print和System.out.print区别

    System.err.print    是报错专用输输出,有颜色标记,所有err打印的都在顶行输出 System.out.print   是标准输出,白底黑字 package iobuffer; pu ...

  8. 集成开发环境(IDE)

    学习目标: 1.了解Java的IDE开发工具 2.会使用Eclipse.IDEA开发工具新建项目,编写代码,并运行程序. 学习过程: 使用文本开发效率无疑是很低的,每次编写完代码后,还需要手动的编译执 ...

  9. C# GDI graphics.DrawImage 的参数问题

    graphics.DrawImage(imageSource, new System.Drawing.Point[] { ,), , ), , ), } ); graphics.DrawImage(i ...

  10. DataTable求列的最大值、最小值、平均值和样本数

    与sql聚合函数相似,会屏蔽null table.Compute("max(ColumnName)", "true"); table.Compute(" ...