spark-初探
来源:互联网 发布:绝地求生优化设置 编辑:程序博客网 时间:2024/05/23 01:16
Spark关键数据结构:
RDD(Resilient Distributed Dataset)--> 弹性分布式数据集
RDD有actions(有返回值),transformations(产生新的RDD);
filter和map是transformations动作;
val textFile = sc.textFile("/home/centos/wc.txt");
val wordCountMap = textFile.flatMap(_.split(" ")).map(word => (word, 1));
val count = wordCountMap.reduceByKey((a, b) => a + b).collect();
val textFile = sc.textFile("file-path-to-handle") //sc是spark内置的变量
val wordMap = textFile.flatMap(line => line.split(" "));//产生单词RDD[String];
val wordCountMap = word.map(word => (word, 1)); //产生RDD[String, Int]映射
val count = wordCountMap.reduceByKey((a, b) => a + b).collect;//计算出单词统计结果
Spark SQL: 支持使用SQL语句和DataFrame API(Scala, Java,Python, R)
Spark Streaming: 处理实时数据流处理(Scala,Java,Python)
Spark MLlib:支持开发机器学习应用
Spark GraphiX: 图处理和支持增长的图算法库;
Spark集群部署:
1、复制spark/conf/默认配置文件;
cd spark/conf/
cp slaves.template slaves
添加奴隶节点;
cp spark-default.conf.template spark-default.conf //以后做修改
cp spark-env.sh.template spark-env.sh 文件,添加JDK配置
JAVA_HOME=/soft/jdk
--------------------------------------------------------
2、分发安装文件到其他节点
--------------------------------------------------------
3、修改/etc/profile文件,添加
export SPARK_HOME=/Cloudary/spark/
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
4、source /etc/profile,让环境变量生效;
--------------------------------------------------------
5、在主节点开启 start-master.sh脚本;
--------------------------------------------------------
6、启动奴隶节点
start-slave.sh spark://master-ip:7077//master-ip是主节点的IP地址;
(或者在主节点的spark/sbin/start-all.sh启动集群)
--------------------------------------------------------
7、关闭spark集群
spark/sbin/stop-all.sh
--------------------------------------------------------
8、在浏览器中查看集群是否启动成功
master-ip:8080//例如 192.168.80.150:8080
分析Spark的start-all.sh脚本
1、启动spark-config.sh
2、启动spark-master.sh
3、启动spark-slaves.sh
分析spark-config.sh
1、判断是存在SPARK_HOME环境变量;
2、导出Spark配置文件目录
3、导出Python的环境变量
分析start-master.sh脚本
org.apache.spark.deploy.master.Master.scala//Spark Master在源码包中的位置;
org.apache.spark.SparkConf.scala//Spark的配置类;
start-master.sh --help//打印帮助信息
-h HOST, --host HOST Hostname to listen on//主节点IP
-p PORT, --port PORT Port to listen on (default: 7077)//主节点端口
--webui-port PORT Port for web UI (default: 8080)//Web UI端口
--properties-file FILE Path to a custom Spark properties file.//Spark集群主节点属性文件;
Default is conf/spark-defaults.conf.
spark-daemon.sh start $CLASS 1 \//调用spark-deamon.sh开启集群;
--host $SPARK_MASTER_HOST --port $SPARK_MASTER_PORT --webui-port $SPARK_MASTER_WEBUI_PORT \
RDD(Resilient Distributed Dataset)--> 弹性分布式数据集
RDD有actions(有返回值),transformations(产生新的RDD);
filter和map是transformations动作;
val textFile = sc.textFile("/home/centos/wc.txt");
val wordCountMap = textFile.flatMap(_.split(" ")).map(word => (word, 1));
val count = wordCountMap.reduceByKey((a, b) => a + b).collect();
val textFile = sc.textFile("file-path-to-handle") //sc是spark内置的变量
val wordMap = textFile.flatMap(line => line.split(" "));//产生单词RDD[String];
val wordCountMap = word.map(word => (word, 1)); //产生RDD[String, Int]映射
val count = wordCountMap.reduceByKey((a, b) => a + b).collect;//计算出单词统计结果
Spark SQL: 支持使用SQL语句和DataFrame API(Scala, Java,Python, R)
Spark Streaming: 处理实时数据流处理(Scala,Java,Python)
Spark MLlib:支持开发机器学习应用
Spark GraphiX: 图处理和支持增长的图算法库;
Spark集群部署:
1、复制spark/conf/默认配置文件;
cd spark/conf/
cp slaves.template slaves
添加奴隶节点;
cp spark-default.conf.template spark-default.conf //以后做修改
cp spark-env.sh.template spark-env.sh 文件,添加JDK配置
JAVA_HOME=/soft/jdk
--------------------------------------------------------
2、分发安装文件到其他节点
--------------------------------------------------------
3、修改/etc/profile文件,添加
export SPARK_HOME=/Cloudary/spark/
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
4、source /etc/profile,让环境变量生效;
--------------------------------------------------------
5、在主节点开启 start-master.sh脚本;
--------------------------------------------------------
6、启动奴隶节点
start-slave.sh spark://master-ip:7077//master-ip是主节点的IP地址;
(或者在主节点的spark/sbin/start-all.sh启动集群)
--------------------------------------------------------
7、关闭spark集群
spark/sbin/stop-all.sh
--------------------------------------------------------
8、在浏览器中查看集群是否启动成功
master-ip:8080//例如 192.168.80.150:8080
分析Spark的start-all.sh脚本
1、启动spark-config.sh
2、启动spark-master.sh
3、启动spark-slaves.sh
分析spark-config.sh
1、判断是存在SPARK_HOME环境变量;
2、导出Spark配置文件目录
3、导出Python的环境变量
分析start-master.sh脚本
org.apache.spark.deploy.master.Master.scala//Spark Master在源码包中的位置;
org.apache.spark.SparkConf.scala//Spark的配置类;
start-master.sh --help//打印帮助信息
-h HOST, --host HOST Hostname to listen on//主节点IP
-p PORT, --port PORT Port to listen on (default: 7077)//主节点端口
--webui-port PORT Port for web UI (default: 8080)//Web UI端口
--properties-file FILE Path to a custom Spark properties file.//Spark集群主节点属性文件;
Default is conf/spark-defaults.conf.
spark-daemon.sh start $CLASS 1 \//调用spark-deamon.sh开启集群;
--host $SPARK_MASTER_HOST --port $SPARK_MASTER_PORT --webui-port $SPARK_MASTER_WEBUI_PORT \
slaves.sh脚本读取配置目录中的slaves配置文件;
Windows下编译Spark-2.1.0:
1、需要安装cygwin,将,cygwin的bin路径添加到系统PATH环境变量中
2、安装maven-3.3.9版本,将maven的bin添加到PATH环境变量
3、使用cygwin切换到spark源码根目录,执行mvn -DskipTests clean package
编译Spark-2.1.0失败错误总结:
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce
(enforce-versions) on project spark-parent_2.11: Some Enforcer rules have
failed. Look above for specific messages explaining why the rule failed.
原因:maven版本不匹配,需要3.3.9版本
0 0
- Spark初探
- spark-初探
- Spark Streaming初探
- spark mllib初探练习
- Spark SQL 初探
- Spark SQL 初探
- Spark Streaming初探
- spark stream初探
- Spark Shuffle初探
- Spark streaming 初探
- Spark SQL 初探
- Spark Shuffle初探
- Spark Shuffle初探
- Spark 初探 (一)
- Spark Shuffle初探
- spark初探,官方文档
- Spark源码初探-从spark-submit开始
- spark sql on hive初探
- 编译器的工作过程
- 安卓 Android Studio NDK 神坑总结
- Shader特效——“径向模糊”的实现 【GLSL】
- webpack入门教程
- Glide(2)的高级用法
- spark-初探
- UVa1225 Digit Counting
- 自定义控件其实很简单 七
- androidStudio中,修改版本号需要注意的地方
- 中英词类活用
- org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be res
- Go学习
- javaScript中使用var和不是用var定义变量的区别
- MySQL命令行窗口快捷键