与hadoop比较
Hadoop除了提供为大家所共识的HDFS分布式数据存储功能之外,还提供了叫做MapReduce的数据处理功能。
Spark数据处理速度秒杀MapReduce
Spark因为其处理数据的方式不一样,会比MapReduce快上很多。MapReduce是分步对数据进行处理的: ”从集群中读取数据,进行一次处理,将结果写到集群,从集群中读取更新后的数据,进行下一次的处理,将结果写到集群,等等…“
反观Spark,它会在内存中以接近“实时”的时间完成所有的数据分析:“从集群中读取数据,完成所有必须的分析处理,将结果写回集群,完成,”。Spark的批处理速度比MapReduce快近10倍,内存中的数据分析速度则快近100倍。修改spark-env.sh
JAVA_HOME=/opt/app/jdk1.7.0_67 SCALA_HOME=/opt/app/scala-2.10.4 HADOOP_CONF_DIR=/opt/app/hadoop-2.5.0/etc/hadoop
启动spark
bin/spark-shell val rdd = sc.textFile("/data/wc.input"); rdd.count; rdd.first; rdd.take(2);
spark standalone 配置
1、spark-env.sh文件修改 SPARK_MASTER_IP=bigdata.eclipse.com SPARK_MASTER_PORT=7070 SPARK_MASTER_WEBUI_PORT=8080 SPARK_WORKER_CORES=2 SPARK_WORKER_MEMORY=2g SPARK_WORKER_PORT=7071 SPARK_WORKER_WEBUI_PORT=8081 SPARK_WORKER_INSTANCES=1 2、slaves修改 bigdata.eclipse.com 3、启动slave sbin/start-master.sh 4、启动spark bin/spark-shell --master spark://bigdata.eclipse.com:7070 5、运行wordcount实例 val rdd = sc.textFile("/data/wc.input"); rdd.flatMap(x => x.split(" ")).map(x => (x, 1)).reduceByKey((x, y) => (x + y)).collect 6、访问web界面 http://bigdata.eclipse.com:8080/
- 对于Scala 中变量或者值得声明及高阶函数的理解
1、定义变量两种形式
1)val定义,value:值,不可变
2)var定义,variable:变量,值可变
2、高阶函数
Scala中,如果一个函数A的参数是一个函数B的话,称作这个函数A为高阶函数
Spark环境配置
最新推荐文章于 2025-06-07 21:14:00 发布