spark入门

2017-10-27  本文已影响0人  全然大好人

spark(1)介绍

1. 快速且通用的集群计算平台
2. spark组件
组件 Spark Core Spark SQL Spart Streaming Spart MLlib GraphX Cluster Managers 紧密集成
3. Hadoop Spark 差异

spark(2)下载安装、shell

1. 虚拟机联网
2. 下载
3. 解压
4. 目录
shell
5. scala shell
val line = sc.textFile("../../testfile/helloSpark")     //加载文本文件,返回RDD
line.count()    //计算行数
line.first()     //第一行
6. 修改日志级别
cp log4j.properties.template  log4j.properties
vi  log4j.properties
log4j.rootCategory=WARN,console(wq)

Spark(3)开发环境

1. Scala安装
2. IDEA安装
3. IDEA插件
4. 新建项目
5. ssh无密码登录
ssh-keygen
touch authorized_keys(.ssh下)
cat id_rsa.pub > authorized_keys
chmod 600 authorized_keys
6. 第一个程序WordCount
  1. 创建一个Spark Context
  2. 加载数据
  3. 把每一行分割成单词
  4. 转换成pairs并且计数
配置 程序
7. 启动集群
  1. (spark文件夹下)启动master ./sbin/start-master.sh
  2. 启动worker ./bin/spark-class org.apache.spark.deploy.worker.Worker spark://localhost.localdomain:7077
    worker上打开localhost:8080,得到 ://localhost.localdomain:7077
  3. 提交作业 ./bin/spark-submit --master spark://localhost.localdomain:7077 --class WordCount /home/maixia/soft/imoocpro.jar

Spark(4)RDDS

1.Driver program
2. SparkContext
3. RDDs基础
4. RDDs创建
  1. val rdd = sc.parallelize(Array(1,2,2,4),4) 测试用
    rdd.foreach(println)
  2. val rddText = sc.textFile("helloSpark.txt") 加载外部数据集
5. Scala匿名函数 类型推断

lines.filter(line => line.contains("world"))

6. Transformation
  1. 逐元素的Transformation
  1. 集合运算
7. Action
1 2
8. keyValue对RDDs
val rdd2 = rdd1.map(line=>(line.split(" ")(0),line))
1 2
9. combineByKey()
//把成绩相加再求平均值
val score2=score.combineByKey(score=>(1,score),(c1:(Int,Double),newScore)=>(c1._1+1,c1._2+newScore),(c1:(Int,Double))=>(c1._1+c2._1,c1._2+c2._2))
val average=scores2.map{case(name,(num,score))=>(name,score/num)}
10. Spark特性
血统关系图 参数 参数
上一篇下一篇

猜你喜欢

热点阅读