Apache Spark,是一个多语言引擎,用于在单节点或集群上执行数据工程和机器学习的工具。
- Batch / streaming data 批量/流式数据
- Python、SQL、Scala、Java或R,统一数据的批处理和实时流处理
- SQL analytics SQL分析
- 执行快速、分布式的ANSI SQL查询,以实现仪表板和即席报告。
- 比大多数数据仓库更快。
- Data science at scale 大规模数据科学
- 对PB级数据执行探索性数据分析(EDA),而无需采用下采样
- Machine learning 机器学习
- 在电脑上训练机器学习算法,并使用相同的代码扩展到数千台机器的容错集群
官网下载spark3.4.1的jar包
Spark Download
下载 spark-3.4.1-bin-hadoop3.tgz 后,在相应目录进行解压操作
1
| tar xvf spark-3.4.1-bin-hadoop3.tgz -C /var/local/
|
软链更新
删除之前的软链
创建新的软链:
1
| ln -s /var/local/spark-3.4.1-bin-hadoop3 /opt/soft/spark
|
❌软链报错:目录无法访问
💡解决方法:用绝对路径(上面已用绝对路径)
修改配置文件
将以前版本的配置文件 copy 到当前 spark/conf 文件夹下
1
| scp spark-env.sh spark-defaults.conf core-site.xml hdfs-site.xml hive-site.xml yarn-site.xml <目标地址IP>: /opt/soft/spark/conf
|
配置文件包括:
spark-env.sh
spark-defaults.conf
core-site.xml
hdfs-site.xml
hive-site.xml
yarn-site.xml (不必选)
Lib包更新
- 更新 $SPARK_HOME/jars/ 目录
- 下载 iceberg-spark-runtime-*.jar
- 下载 hive-hcatalog-core-*.jar
- 更新HDFS目录 sparkjars/ 的共享jar包
- 将 $SPARK_HOME/jars 下面的 *.jar 都上传到此目录
1 2
| # hdfs上创建目录 hdfs dfs -mkdir /sparkjars/spark_341
|
1
| hdfs dfs -put $SPARK_HOME/jars/*.jar /sparkjars/spark_3xx
|
测试spark
提交Pi计算测试
1 2 3 4 5 6 7
| date; $SPARK_HOME/bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client $SPARK_HOME/examples/jars/spark-examples*.jar 10;date
|
1 2 3 4 5 6
| /opt/soft/spark/bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client /opt/soft/spark/examples/jars/spark-examples*.jar 10
|
yarn 模式直接运行
1 2 3 4 5 6 7 8
| $SPARK_HOME/bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster --driver-memory 4g --executor-memory 2g --executor-cores 2 $SPARK_HOME/examples/jars/spark-examples*.jar 10
|
spark thrift server测试
- sparksql 测试
1 2 3
| $SPARK_HOME/bin/spark-sql --executor-cores 1 --executor-memory 2G --num-executors 1 --master yarn --name spark_sql_test
select count(*) from essd_db.ods_essd_dut_result
|