千家信息网

Spark基础

发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,官方文档:spark.apache.org/docs/latestSpark背景MapReduce局限性:1>) 繁杂map/reduce (mapjoin没有reduce)low_levelcons
千家信息网最后更新 2024年11月30日Spark基础

官方文档:spark.apache.org/docs/latest

Spark背景


MapReduce局限性:
1>) 繁杂
map/reduce (mapjoin没有reduce)
low_level
constained
需求 测试 每次改代码再测试
2>) 技术效率低
进程几百:MapTask ReduceTask JVM复用
IO: chain 网络+磁盘
排序:都要排序 :面试题:key类型是实现什么接口?
Memory:
...
不适合迭代处理
不适合实时流式处理

很多框架各自为战

Spark概述和特点

spark.apache.org

Speed
memory
thread
sort (可设置)

DAG rdd.map.filter....collect

Ease of use
high-level operators: join、 group 、 count。。。


generality

Runs Everywhere


小结:
fast + general engine
write code: java/Scala/Python/R interactive shell
run:memory/ADG/thread model/.....

版本介绍和选择依据参考:


如何学习Spark
mail list
user@spark.apache.org
apache-spark-user-list/
meetup/峰会
源码样例
github.com/apache/spark
source code




环境:
centos6

hadoop000(hadoop) hadoop001 hadoop002
app 存放安装软件的目录
software 存放软件包的tar
data 存放测试数据
lib存放我们自己的jar
source 存放源码的位置


Spark安装

官网下载源码解压


编译Spark源码的前置要求
java 8+, Python 2.7+/3.4+ Spark 2.3.0 Scala 2.11.xx
安装jdk

apache-maven安装
解压配置.bash_proile
export MAVEN_HOME/home/hadoop/app/apache-maven-3.3.9
export PATH=$MAVE_HOME/bin:$PATH

建议:修改maven本地仓库的地址 $MAVE_HOME/conf/setting.xml
/home/hadoop/mave_repo

安装scala-2.11.9.tgz
解压配置.bash_proile
export MAVEN_HOME/home/hadoop/app/scala-2.11.9
export PATH=$MAVE_HOME/bin:$PATH

source ~.bash_proile
验证:mvn -v

git安装下 yum install git


编译安装
export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
./build/mvn -DskipTests clean package


修改源码编码默认hadoop版本
pom.xml

2.5.0

profile
Apache Hadoop 2.7.x and later
./build/mvn -pyarn -Phadoop-2.7 -Dhadoop.version=2.7.3 -DskipTests clean package
Hive 1.2.1 support
./build/mvn -Pyarn -Phive -Phive -thriftserver -DskipTests clean package



开发环境编译
./build/mvn -pyarn -Phive -Phive -Phadoop-2.6 -Dhadoop.version=2.6.3 -DskipTests clean


生产环境
./dev/make-distribution.sh \
--name hadoop-2.6.0-cdh6.7.0 --(就填写hadoop版本号) \
--tgz \
--Dhadoop.version=2.6.3 \
--Phadoop-2.6 \
--Phive -Phive-thriftserver \
--Pyarn

根据报错配置仓库源


修改脚本 加快编译速度
vim make-distribution.zh 注释点下面几个编译检查参数
VERSION=2.2.0
SCALA_VERSION=2.11
SPARK_HADOOP_VERSION=2.6.0-cdh6.7.0
SPARK_HIVE=1



编译文档
http://spark.apache.org/docs/2.3.0/building-spark.html
more --- building spark


Spark安装包目录结构说明
bin 存放客户端相关脚本
conf 配置文件模板
data 存放测试数据
examples Spark 自带的测试用例 重点查看自带的代码样例
jars jar包
sbin 存放服务端相关脚本
yarn 存放yarn相关jar包

源码
github.com/apache/spark

0