BigData之Spark:Spark计算引擎的简介、下载、经典案例之详细攻略

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: BigData之Spark:Spark计算引擎的简介、下载、经典案例之详细攻略


目录

Spark的简介

1、Spark三大特点

Spark的下载

Spark的经典案例

1、Word Count

2、Pi Estimation

3、Text Search

4、Prediction with Logistic Regression


 

 

 

 

Spark的简介

       Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

       Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

       Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。

       尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。

 

 

1、Spark三大特点

  • Spark 应用开发者可以专注于应用所要做的计算本身:高级 API 剥离了对集群本身的关注,Spark 应用开发者可以专注于应用所要做的计算本身。
  • Spark速度更快:Spark 很快,支持交互式计算和复杂算法。内存计算下,Spark 比 Hadoop 快100倍。使用最先进的DAG调度程序、查询优化器和物理执行引擎,实现了批处理和流数据的高性能。
  • Spark易用性强:用Java、Scala、Python、R和SQL快速编写应用程序。Spark 提供了80多个高级运算符。是一个通用引擎,可用它来完成各种各样的运算,包括 SQL 查询、文本处理、机器学习等,而在 Spark 出现之前,我们一般需要学习各种各样的引擎来分别处理这些需求。

 

 

 

Spark的下载

下载地址https://spark.apache.org/downloads.html

 

 

 

Spark的经典案例

推荐http://spark.apache.org/examples.html

1、Word Count

1. text_file = sc.textFile("hdfs://...")
2. counts = text_file.flatMap(lambda line: line.split(" ")) \
3.              .map(lambda word: (word, 1)) \
4.              .reduceByKey(lambda a, b: a + b)
5. counts.saveAsTextFile("hdfs://...")

 

2、Pi Estimation

1. def inside(p):
2.     x, y = random.random(), random.random()
3. return x*x + y*y < 1
4. 
5. count = sc.parallelize(xrange(0, NUM_SAMPLES)) \
6.              .filter(inside).count()
7. print "Pi is roughly %f" % (4.0 * count / NUM_SAMPLES)

 

3、Text Search

1. textFile = sc.textFile("hdfs://...")
2. 
3. # Creates a DataFrame having a single column named "line"
4. df = textFile.map(lambda r: Row(r)).toDF(["line"])
5. errors = df.filter(col("line").like("%ERROR%"))
6. # Counts all the errors
7. errors.count()
8. # Counts errors mentioning MySQL
9. errors.filter(col("line").like("%MySQL%")).count()
10. # Fetches the MySQL errors as an array of strings
11. errors.filter(col("line").like("%MySQL%")).collect()

 

4、Prediction with Logistic Regression

1. # Every record of this DataFrame contains the label and
2. # features represented by a vector.
3. df = sqlContext.createDataFrame(data, ["label", "features"])
4. 
5. # Set parameters for the algorithm.
6. # Here, we limit the number of iterations to 10.
7. lr = LogisticRegression(maxIter=10)
8. 
9. # Fit the model to the data.
10. model = lr.fit(df)
11. 
12. # Given a dataset, predict each point's label, and show the results.
13. model.transform(df).show()

 

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8月前
|
SQL 机器学习/深度学习 分布式计算
Spark【基础知识 01】【简介】(部分图片来源于网络)
【2月更文挑战第12天】Spark【基础知识 01】【简介】(部分图片来源于网络)
88 2
|
3月前
|
分布式计算 大数据 Java
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
83 5
|
3月前
|
存储 缓存 分布式计算
大数据-83 Spark 集群 RDD编程简介 RDD特点 Spark编程模型介绍
大数据-83 Spark 集群 RDD编程简介 RDD特点 Spark编程模型介绍
53 4
|
3月前
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
63 3
|
3月前
|
存储 分布式计算 算法
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
83 0
|
3月前
|
分布式计算 大数据 Spark
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(二)
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(二)
54 1
|
3月前
|
设计模式 数据采集 分布式计算
企业spark案例 —出租车轨迹分析
企业spark案例 —出租车轨迹分析
136 0
|
3月前
|
消息中间件 分布式计算 Kafka
大数据-102 Spark Streaming Kafka ReceiveApproach DirectApproach 附带Producer、DStream代码案例
大数据-102 Spark Streaming Kafka ReceiveApproach DirectApproach 附带Producer、DStream代码案例
76 0
|
3月前
|
SQL 分布式计算 大数据
大数据-101 Spark Streaming DStream转换 窗口操作状态 跟踪操作 附带多个案例(一)
大数据-101 Spark Streaming DStream转换 窗口操作状态 跟踪操作 附带多个案例(一)
64 0
|
3月前
|
存储 分布式计算 大数据
大数据-101 Spark Streaming DStream转换 窗口操作状态 跟踪操作 附带多个案例(二)
大数据-101 Spark Streaming DStream转换 窗口操作状态 跟踪操作 附带多个案例(二)
65 0