diff --git a/src/content/posts/2024-01/Comparison_of_Spark_Software_Adaptability_and_Performance_on_RISC-V&ARM_Architectures.md b/src/content/posts/2024-01/Comparison_of_Spark_Software_Adaptability_and_Performance_on_RISC-V&ARM_Architectures.md new file mode 100644 index 0000000000000000000000000000000000000000..eb5e14ae1687047a9185e0a3abb58b0bb95199bd --- /dev/null +++ b/src/content/posts/2024-01/Comparison_of_Spark_Software_Adaptability_and_Performance_on_RISC-V&ARM_Architectures.md @@ -0,0 +1,113 @@ +--- +title: RISC-V&ARM架构下大数据框架Spark软件适配性与性能对比研究 +author: 张凌豪 +pubDate: 2024-07-01 +categories: ['2024 年第一期'] +--- + + + +--- + +## 目 录 + +- [目 录](#目--录) +- [我的任务](#我的任务) + - [调研信息](#调研信息) + - [功能测试](#功能测试) + - [性能测试](#性能测试) +- [脚本自动化实现](#脚本自动化实现) + - [测试用例](#测试用例) +- [测试结果](#测试结果) +- [实验总结](#实验总结) +- [对项目的建议](#对项目的建议) + +--- + +## 我的任务 + +rv下的spark环境搭建+arm下的spark测试。 + + +### 调研信息 + +通过调研,我们收集了关于RISC-V和ARM架构在大数据框架中的应用情况。具体调研信息包括: + +- RISC-V和ARM在大数据处理中的性能优势和劣势。 +- Spark在不同架构下的兼容性和稳定性。 + +### 功能测试 + +- **Spark Streaming功能测试** + - **测试用例**: 验证基本的流处理操作,包括数据接收、处理、输出等。 + - **测试结果**: 全部通过,功能正常。 + +### 性能测试 + +编写Shell脚本对Spark自带基准测试als.py和sort.py进行测试。 + +## 脚本自动化实现 + +### 测试用例 + +```bash +#!/bin/bash + +# 检查参数个数 +if [ $# -ne 2 ]; then + echo "Usage: $0 " + exit 1 +fi + +to_test_dir="/home/bigdata2/spark-3.5.1-bin-hadoop3/examples/src/main/" +language="python" +test_script="sort.py" + +# 提取参数 +n=${1:-100} # 默认值为100 +file_path=${2:-"/tmp/sort_test.txt"} # 默认路径为/tmp/sort_test.txt + +# 生成随机数文件 +generate_random_numbers() { + local n=$1 + local file_path=$2 + for ((i=1; i<=n; i++)); do + echo $RANDOM + done > "$file_path" +} + +# 生成测试数据 +generate_random_numbers $n $file_path + +# 执行Spark任务 +command="spark-submit ${to_test_dir}${language}/${test_script} $file_path" +echo "Executing command: ${command}" +${command} +``` + +## 测试结果 + +![test.png](./imgs/test.png) + +## 实验总结 + +- 在测试初期对RISC-V架构的了解不够深入,导致搭建环境时遇到了一些问题。 +- 测试脚本的鲁棒性有待提高,在某些边界情况下会出现异常。 + +## 对项目的建议 + +时间太紧,最后一天才拿到服务器,希望下次可以有更多时间 diff --git a/src/content/posts/2024-01/imgs/test.png b/src/content/posts/2024-01/imgs/test.png new file mode 100644 index 0000000000000000000000000000000000000000..f83087f881398b901cbffd5ff3f2ecee04a6585d Binary files /dev/null and b/src/content/posts/2024-01/imgs/test.png differ