You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
valtextFile= sc.textFile("file:///home/w4n9/Apps/spark-2.3.1-bin-hadoop2.7/README.md")
textFile.count
valwordCounts= textFile.flatMap(line => line.split("")).map(word => (word, 1)).reduceByKey((a, b) => a + b)
Spark Quick
Spark组件和架构
基本组件:
基本架构:
集群构成:
与Hadoop的区别
Spark 安装 (ubuntu18.04)
1.安装jdk1.8.0,scala2.12.6,sbt,spark2.3.1
2.执行spark-shell,成功进入scala shell即安装成功
3.执行pyspark,可进入python shell
RDD (Resilient Distributed Datasets弹性分布式数据集)
把一个超大的数据集(RDD),切分成N个小块(Partition),找M个执行器(M < N),每个执行器拿一块或多块数据进行计算,最后再将结果收集在一起,得出最终结果。RDD是一个lazy类型,只有在执行时才会加载,加载时这些数据块来自存储或者内存。并且RDD提供了相当多种类的操作API。
这么看来Spark的机制和Elasticsearch有点类似,索引就相当于RDD,shard相当于数据块Partition,执行查询时也是每个shard先进行各自的计算,然后汇总,ES的query类似spark sql。
ES和Spark不同的地方在于,ES缺少主动读取并处理流式数据的能力(Spark Streaming),以及对索引数据进行科学计算的能力(Spark MLlib)
Spark SQL
Spark Steaming
Spark支持对输入流进行监听和处理,能对其进行分区,以接近实时的方式来进行计算聚合。
流的传输是以小批量的方式进行的,Spark内部会以将输入数据分成小批量的数据块,然后执行RDD聚合操作,将小块的数据合并成大块的数据,避免数据块过多的情况。
Spark MLlib
RDD提供的API中包含了大量的机器学习算法:
但是一个都看不懂,emmm
Spark GraphX
关于图
图是由顶点和边组成的,并非代数中的图,图可以对事物以及事物之间的关系建模,图可以用来表示自然发生的连接数据。比如社交网络,地图。
常用应用:
The text was updated successfully, but these errors were encountered: