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

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

2、Pi Estimation

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

3、Text Search

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

4、Prediction with Logistic Regression

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

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

  1. BigData之Hive beeline:beeline的简介、使用方法之详细攻略

    BigData之Hive beeline:beeline的简介.使用方法之详细攻略 目录 beeline的简介 beeline的使用方法 1.命令行参数解释 2.beeline的输出格式 2.1.ta ...

  2. ML之SIFT_FLANN:FLANN算法的简介、使用方法(对图片提取SIFT特征并利用FLANN方法实现计算图像相似度并可视化案例)之详细攻略

    ML之SIFT_FLANN:FLANN算法的简介.使用方法(对图片提取SIFT特征并利用FLANN方法实现计算图像相似度并可视化案例)之详细攻略 目录 FLANN算法 1.flann的搜索步骤 (1) ...

  3. ML之DT之CART:分类与回归树CART算法的简介、应用、经典案例之详细攻略

    ML之DT之CART:分类与回归树CART算法的简介.应用.经典案例之详细攻略 目录 分类与回归树CART算法简介 1.CART原理-比较ID3.C4.5 2.CART算法描述 CART算法的案经典案 ...

  4. ML之NB:朴素贝叶斯Naive Bayesian算法的简介、应用、经典案例之详细攻略

    ML之NB:朴素贝叶斯Naive Bayesian算法的简介.应用.经典案例之详细攻略 目录 朴素贝叶斯Naive Bayesian算法的简介 1.朴素贝叶斯计算流程表述 2.朴素贝叶斯的优缺点 2. ...

  5. ML之kNN:k最近邻kNN算法的简介、应用、经典案例之详细攻略

    ML之kNN:k最近邻kNN算法的简介.应用.经典案例之详细攻略 目录 kNN算法的简介 1.kNN思路过程 1.1.k的意义 1.2.kNN求最近距离案例解释原理-通过实际案例,探究kNN思路过程 ...

  6. ML之SVM:SVM算法的简介、应用、经典案例之详细攻略

    ML之SVM:SVM算法的简介.应用.经典案例之详细攻略 目录 SVM算法的简介 1.SVM模型分类-线性可分.线性.非线性 2.SVM的决策边界 3.SVM中的核函数 4.SVM算法推导 1.1.S ...

  7. ML之LoR:逻辑回归LoR算法的简介、应用、经典案例之详细攻略

    ML之LoR:逻辑回归LoR算法的简介.应用.经典案例之详细攻略 目录 逻辑回归LoR算法的简介 1.LOR算法在经过严密的数据预处理后效果会非常好 2.LoR模型的优缺点 逻辑回归LoR算法的应用 ...

  8. DL之HNN:Hopfield神经网络(HNN之DHNN、CHNN)的相关论文、简介、使用案例之详细攻略

    DL之HNN:Hopfield神经网络(HNN之DHNN.CHNN)的相关论文.简介.使用案例之详细攻略 导读:Hopfield神经网络(HNN)是一种具有循环.递归特性,结合存储和二元系统的神经网络 ...

  9. Python编程学习:让函数更加灵活的*args和**kwargs(设计不同数量参数的函数)的简介、使用方法、经典案例之详细攻略

    Python编程学习:让函数更加灵活的*args和**kwargs(设计不同数量参数的函数)的简介.使用方法.经典案例之详细攻略 目录 *args和**kwargs(设计不同数量的参数函数)的简介 1 ...

最新文章

  1. 大家有没有推荐不错开源的小程序商城?这几个不要错过
  2. h5打开麦克风权限录音_MAC录屏没有声音?如何在苹果电脑MACBOOK上录音录屏
  3. 块级元素内联并列显示
  4. plex linux 数据目录,shareplex日常维护文档
  5. 频谱知识图谱:面向未来频谱管理的智能引擎人工智能技术与咨询
  6. 一篇文章带你快速理解微服务架构,由浅入深带你走进微服务架构的核心
  7. 灰色系统理论与灰色关联分析模型
  8. VS2017创建项目模板和项模板(方便实用)
  9. stata计量之前数据清洗的必备步骤
  10. css如何使图片在右下角,这个右下角折角用css怎么画出来?
  11. HITB CTF 2018 gundam 做题笔记
  12. Git amend 修改上次提交
  13. 微信数据如何与服务器配置,微信公众平台里的服务器配置设置是干什么用的
  14. 【转】强烈推荐几个新鲜、好玩、另类的小游戏
  15. 视频通讯客服系统实现(附wins源码)
  16. 哪家的云服务器便宜?
  17. Base16和Base64不同的用途
  18. 任务发布消费中间件 leek 使用教程
  19. 【苹果家庭推】imessage群发苹果软件安装C / C ++功能库提供
  20. pyinstaller 打包小坑2

热门文章

  1. 笔记2——C++ static关键字与一维动态数组的使用
  2. Android SDK Manager无法下载包的问题
  3. 根据端口不同来切换站点_KVM切换器是什么,看懂这一篇就够
  4. python提交post请求payload webkit_python爬虫实现POST request payload形式的请求
  5. sql 默认值为0_int 默认值为0
  6. pthread_join
  7. 计算机网络-数据链路层
  8. ASP.NET4.0新的%: %语法用于HTML Encoding
  9. 机房收费--修改密码
  10. 为什么 wait/notify/notifyAll 在 Object 类定义而不是 Thread 类?