(1)本周做了什么,花在学习上多长时间,花在代码时间上多长时间,花在解决问题用了多长时间。
本周学习了spark
Spark 相对于 Hadoop 而言具有较大优势,但 Spark 并不能完全替代 Hadoop,Spark 主要用于替代Hadoop中的 MapReduce 计算模型。存储依然可以使用 HDFS,但是中间结果可以存放在内存中;调度可以使用 Spark 内置的,也可以使用更成熟的调度系统 YARN 等。
Spark Core
Spark Core 是 Spark 的基础,它提供了内存计算的能力,是分布式处理大数据集的基础。它将分布式数据抽象为弹性分布式数据集(RDD),并为运行在其上的上层组件提供 API。所有 Spark 的上层组件都建立在 Spark Core 的基础之上。
Spark SQL
Spark SQL 是一个用于处理结构化数据的 Spark 组件。它允许使用 SQL 语句查询数据。Spark 支持多种数据源,包括 Hive 表、Parquet 和 JSON 等。
Spark Streaming
Spark Streaming 是一个用于处理动态数据流的 Spark 组件。它能够开发出强大的交互和数据查询程序。在处理动态数据流时,流数据会被分割成微小的批处理,这些微小批处理将会在 Spark Core 上按时间顺序快速执行。
Spark MLlib
Spark MLlib 是 Spark 的机器学习库。它提供了常用的机器学习算法和实用程序,包括分类、回归、聚类、协同过滤、降维等。MLlib 还提供了一些底层优化原语和高层流水线 API,可以帮助开发人员更快地创建和调试机器学习流水线。
Spark GraphX
Spark GraphX 是 Spark 的图形计算库。它提供了一种分布式图形处理框架,可以帮助开发人员更快地构建和分析大型图形。
Spark的优势
Spark 有许多优势,其中一些主要优势包括:
- 速度:Spark 基于内存计算,能够比基于磁盘的计算快很多。对于迭代式算法和交互式数据挖掘任务,这种速度优势尤为明显。
- 易用性:Spark 支持多种语言,包括 Java、Scala、Python 和 R。它提供了丰富的内置 API,可以帮助开发人员更快地构建和运行应用程序。
- 通用性:Spark 提供了多种组件,可以支持不同类型的计算任务,包括批处理、交互式查询、流处理、机器学习和图形处理等。
- 兼容性:Spark 可以与多种数据源集成,包括 Hadoop 分布式文件系统(HDFS)、Apache Cassandra、Apache HBase 和 Amazon S3 等。
- 容错性:Spark 提供了弹性分布式数据集(RDD)抽象,可以帮助开发人员更快地构建容错应用程序。
import org.apache.spark.{SparkConf, SparkContext} object SparkWordCount { def main (args:Array [String]): Unit = { //setMaster("local[9]") 表示在本地运行 Spark 程序,使用 9 个线程。local[*] 表示使用所有可用的处理器核心。 //这种模式通常用于本地测试和开发。 val conf = new SparkConf ().setAppName ("Word Count").setMaster("local[9]"); val sc = new SparkContext (conf); sc.setLogLevel("ERROR") val data = List("Hello World", "Hello Spark") val textFile = sc.parallelize(data) val wordCounts = textFile.flatMap (line => line.split (" ")).map ( word => (word, 1)).reduceByKey ( (a, b) => a + b) wordCounts.collect().foreach(println) } }
(2)下周准备做什么?
继续学习spark
(3)遇到什么困难
跟着视频学习spark,没遇到什么困难
浙公网安备 33010602011771号