1,spark 简单使用,spark-shell ,aws 集群的 spark 使用 ,linux 运维 ,小程序

一 ,spark 基本知识回顾 :

1 ,进入我们的集群 :

srt 连接

2 ,切 root 用户 :

sudo -i

3 ,我们的 spark 版本 :

2.4.3

4 ,进入 aws 集群的 spark-shell :

spark-shell

5 ,退出 aws 集群的 spark-shell :

:quit

6 ,spark 官网地址 :

http://spark.apache.org/docs/2.4.3/

7 ,我们有多少个 cpu ,每个 cpu 有多少个核心数 :

  1. 多少核心数 : cat /proc/cpuinfo| grep “processor”| wc -l
  2. 每个核心有多少线程 : cat /proc/cpuinfo| grep “cpu cores”| uniq

8 ,spark API :

http://spark.apache.org/docs/2.4.3/api/scala/index.html#org.apache.spark.AccumulableParam

二 ,小程序

0 ,元数据 :

1	sfl	m	31	basketball
2	wtt	f	27	ui
3	sswen	m	3	falv
4	sswu	m	4	army
5	sjw	w	5	mishu
6	sjy	w	6	kuaguozongcai

1 ,连接到集群主节点 :

用户名 : ec2-user

2 ,切换 root 用户 :

sudo -i

3 ,启动 spark-shell : 可以测试 spark 内置方法

spark-shell
1,spark 简单使用,spark-shell ,aws 集群的 spark 使用 ,linux 运维 ,小程序_第1张图片

4 ,创建 Dataset :

  1. ds 是什么 : DataSet 是 spark 的基本抽象 。
  2. 通过什么来创建 : 通过读文件来创建 ds 。
  3. 代码 :
val textFile = spark.read.textFile("s3://lifecyclebigdata/test/data/jia.csv")

6 ,共几行 :

textFile.count()

7 ,取第一行 :

textFile.first()

8 ,过滤 : 包含数字 3 的行 ( 原理是遍历 )

val linesWithSpark = textFile.filter(line => line.contains(“Spark”))

9 ,转换 + 统计 :

textFile.filter(line => line.contains(“3”)).count()

三 ,DataSet 的更多信息 : ds 提供复杂的计算

1 ,字母最多的一行 : if

textFile.map(line => line.length).reduce((a, b) => if (a > b) a else b)

2 ,字母最多的一行 : max

textFile.map(line => line.length).reduce((a, b) => Math.max(a, b))

3 ,wordCount :

textFile.flatMap(line => line.split("\t")).groupByKey(identity).count()

4 ,查看数据 :

res8.collect

5 ,缓存 : 在复用数据的时候很常用

linesWithSpark.cache()
linesWithSpark.count()
linesWithSpark.count()

你可能感兴趣的:(1,spark 简单使用,spark-shell ,aws 集群的 spark 使用 ,linux 运维 ,小程序)