SparkCore-核心概念和集群架构(第一天)

SparkCore-核心概念和集群架构(第一天)

一、核心概念

spark是基于内存的计算框架,是大规模数据处理的统一分析引擎。
WebUI管理端口:8080 RPC通信接口:7077

二、四大特性

  • 速度快-中间的计算结果保存在内存,减少了磁盘IO。task以线程的形式运行在进程中。
  • 易用性-可以使用scala、java、python和go多语言开发
  • 通用性-spark生态圈包括sparksql、sparkstreaming、MLlib、graphx等模块
  • 兼容性-spark程序是一个计算逻辑,任务的运行需要计算资源,哪儿有资源,任务就提交到哪里。(standAlone、yarn、mesos三种集群模式)

三、集群架构

SparkCore-核心概念和集群架构(第一天)_第1张图片

四、任务提交模式

  • 指定alive活着的master地址
bin/spark-submit \
--class 包名+类名 \
--master spark://ip:port \
--executor-memory N g \
--total-executor-cores N \
jar路径 \
参数1 参数2 ...
  • 高可用模式提交任务
bin/spark-submit \
--class 包名+类名 \
--master spark://ip:port1,ip2:port2 \
--executor-memory N g \
--total-executor-cores N \
jar路径 \
参数1 参数2 ...

五、spark-shell使用

  • 本地指定master运行,N表示线程数
spark-shell --master local[N]
  • 集群模式运行
spark-shell --master spark://ip:port1,ip2:port2 --executor-memory N g --total-executor-cores N
  • 读取本地文件
sc.textFile("file://文件路径")
  • 读取HDFS上的文件
    修改spark-env.sh文件
export HADOOP_CONF_DIR=/hadoop安装路径/etc/hadoop

六、程序开发

添加依赖

<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.3.3</version>

你可能感兴趣的:(spark)