Apache Spark机器学习.1.8 Spark notebook简介

简介:

1.8 Spark notebook简介


在本节中,我们首先讨论有关面向机器学习的notebook方法。然后,我们介绍R Markdown,以其作为一个成熟的notebook案例,最后介绍Spark中的R notebook。

学习完本节,读者将掌握notebook相关的方法和概念,并为将其用于管理和开发机器学习项目做好准备。

1.8.1 面向机器学习的notebook方法

notebook已经成为众人青睐的机器学习工具,因为该工具既能动态驱动,还具备可重复生成的特点。

大部分notebook接口由一系列代码块(称为单元)构成。其开发过程是一个探索的过程,开发者借此可以在一个单元中开发和运行代码,然后基于上一个单元的结果继续编写下一单元代码。特别是机器学习从业者分析大型数据集时,这种交互式方法利于从业者迅速发现数据模式或提出数据洞见。因此,notebook型的开发过程提供了探索式和交互式途径来编写代码,并可立即检查结果。

notebook允许用户在同一文件中无缝地融合代码、输出和注释,这便于机器学习从业者在后一阶段复用他们的工作。

采用notebook方法确保了可复用性,分析与计算、展现的一致性,从而结束了研究管理的复制和粘贴方式。

具体而言,运用notebook,用户可以实现:

迭代分析

透明报告

无缝协作

清晰计算

涵盖结果等的评估推理

以统一方式,notebook方法也为机器学习实践集成提供了许多分析工具

关于使用重现方法的更多信息,请访问:http://chance.amstat.org/2014/09/reproducible-paradigm/(R Markdown)。

R Markdown是一款非常流行的工具,可以帮助数据科学家和机器学习从业者生成动态报告,也能帮助他们重复使用分析流程。R Markdown是一种先进的notebook工具。

参照RStudio的说明:

“R Markdown是一种标签格式,允许方便地制作来源于R语言中可复写的web报表。通过把Markdown核心语法(一种易于编写网页内容的纯文本格式)与嵌入运行的R代码块连接,输出结果将包含在最终文件中。”

这样,我们可以使用R语言和Markdown程序包加上其他一些第三方相关的程序包,比如knitr,编写可复用的分析报告。然而,如果整合使用RStudio和Markdown包,将使数据科学家的工作变得更简便。

对R语言用户来说,使用Markdown非常容易。下面我们通过一个例子,说明如何使用三个简单的步骤创建一个报告。

第1步:做好软件准备

1.下载RStudio软件,网址:http://rstudio.org/。

2.设置RStudio选项:在菜单“Tools >Options”下,单击“Sweave”,选择“Knitr at Weave Rnw files using Knitr”。

第2步:安装Knitr包

1.在RStudio中安装包,你可以选择菜单“Tools >Install Packages”,然后可选择一个CRAN镜像站点和包进行安装。安装包的另一种方法是使用函数install.packages()。

2.为安装源自Carnegi Mellon Statlib CRAN镜像站点下的knitr包,我们可以使用函数命令:install.packages(“knitr”, repos = “http://lib.stat.cmu.edu/R/CRAN/”)。

第3步:创建一个简单的报告

1.单击菜单“File >New >R Markdown”,创建一个空白R Markdown文件。接下来将打开一个新建的.Rmd文件。

2.当你创建了空白文件,会看到一个已经写好的模块。

一个简单的方法是用你自己的信息替换相应的部分内容。

 

3.输入所有信息后,单击“Knit HTML”。

 

4.现在你会看到已经生成一个.html文件。

1.8.2 Spark notebook

目前,有一些与Apache Spark计算兼容的notebook。其中,由Spark原创团队开发的Databricks是最好的。Databricks notebook与R Markdown类似,但Databricks notebook实现了与Apache Spark无缝集成。

除了SQL、Python和Scala,现在Databricks notebook也可用于R语言,并且Spark 1.4默认包含了SparkR包。也就是说,从现在开始,数据科学家和机器学习从业者在R语言环境中通过在Spark之上编写和运行R notebook,就可毫不费力地从Apache Spark强大的能力中获益。

除了SparkR,通过运用install.packages(),能够十分方便地在Databricks的R notebook中安装R程序包。因此,数据科学家和机器学习从业者运用Databricks R notebook,即可获得Spark上R Markdown的技术功效。数据科学家和机器学习从业者可以(使用SparkR)访问和操作分布式存储(如亚马逊S3)或数据仓库(如Hive)上的大数据集(例如TB级的数据)。甚至,他们可以收集SparkR DataFrame的数据到本地的数据框中。

可视化是机器学习项目的重要组成部分。在R notebook中,数据科学家和机器学习从业者可以使用任何R语言的可视化库,包括R基本绘图函数,ggplot或者Lattice。如同R Markdown,绘图在R notebook中内联显示。用户可以对R DataFrame或SparkR DataFrame应用Databricks的内置函数display()。其结果在notebook显示为一个表,随后点击就可绘图。类似于其他(如Python notebook)的Databricks notebook,数据科学家还可以在R notebook里使用displayHTML()函数,生成任意基于HTML和Javascript的可视化。

Databricks端到端的解决方案也使建立从采集到生产的机器学习pipeline模型更加简便,应用于R notebook时,数据科学家可在Spark集群上安排R notebook作业的运行。包括可视化在内的每个运行作业的结果,可立即被浏览,这样使得工作到生产力的转化效率更加简洁快速。

综上所述,Databricks R notebook运用简约的Spark集群管理、丰富的一键可视化和生产作业的即时部署,让R语言用户充分利用了Spark的强大功能。Databricks R notebook提供了一个30天的免费试用。

请访问:https://databricks.com/blog/2015/07/13/introducing-r-notebooks-in-dat-a-br-icks.html。

相关文章
|
分布式计算 大数据 数据处理
Apache Spark:提升大规模数据处理效率的秘籍
【4月更文挑战第7天】本文介绍了Apache Spark的大数据处理优势和核心特性,包括内存计算、RDD、一站式解决方案。分享了Spark实战技巧,如选择部署模式、优化作业执行流程、管理内存与磁盘、Spark SQL优化及监控调优工具的使用。通过这些秘籍,可以提升大规模数据处理效率,发挥Spark在实际项目中的潜力。
1285 0
|
存储 机器学习/深度学习 Apache
如何将Apache Hudi应用于机器学习
如何将Apache Hudi应用于机器学习
366 0
|
分布式计算 大数据 Apache
利用.NET进行大数据处理:Apache Spark与.NET for Apache Spark
【10月更文挑战第15天】随着大数据成为企业决策和技术创新的关键驱动力,Apache Spark作为高效的大数据处理引擎,广受青睐。然而,.NET开发者面临使用Spark的门槛。本文介绍.NET for Apache Spark,展示如何通过C#和F#等.NET语言,结合Spark的强大功能进行大数据处理,简化开发流程并提升效率。示例代码演示了读取CSV文件及统计分析的基本操作,突显了.NET for Apache Spark的易用性和强大功能。
623 1
|
分布式计算 大数据 Spark
Spark大数据处理:技术、应用与性能优化(全)PDF书籍推荐分享
《Spark大数据处理:技术、应用与性能优化》深入浅出介绍Spark核心,涵盖部署、实战与性能调优,适合初学者。作者基于微软和IBM经验,解析Spark工作机制,探讨BDAS生态,提供实践案例,助力快速掌握。书中亦讨论性能优化策略。[PDF下载链接](https://zhangfeidezhu.com/?p=347)。![Spark Web UI](https://img-blog.csdnimg.cn/direct/16aaadbb4e13410f8cb2727c3786cc9e.png#pic_center)
730 1
Spark大数据处理:技术、应用与性能优化(全)PDF书籍推荐分享
|
分布式计算 大数据 数据处理
Apache Spark在大数据处理中的应用
Apache Spark是大数据处理的热门工具,由AMPLab开发并捐赠给Apache软件基金会。它以内存计算和优化的执行引擎著称,提供比Hadoop更快的处理速度,支持批处理、交互式查询、流处理和机器学习。Spark架构包括Driver、Master、Worker Node和Executor,核心组件有RDD、DataFrame、Dataset、Spark SQL、Spark Streaming、MLlib和GraphX。文章通过代码示例展示了Spark在批处理、交互式查询和实时数据处理中的应用,并讨论了其优势(高性能、易用性、通用性和集成性)和挑战。【6月更文挑战第11天】
805 6
|
分布式计算 Spark 大数据
深入探究Apache Spark在大数据处理中的实践应用
【6月更文挑战第2天】Apache Spark是流行的开源大数据处理框架,以其内存计算速度和低延迟脱颖而出。本文涵盖Spark概述、核心组件(包括Spark Core、SQL、Streaming和MLlib)及其在数据预处理、批处理分析、交互式查询、实时处理和机器学习中的应用。通过理解Spark内部机制和实践应用,可提升大数据处理效率,发挥其在各行业的潜力。
|
分布式计算 Hadoop 大数据
大数据处理框架在零售业的应用:Apache Hadoop与Apache Spark
【8月更文挑战第20天】Apache Hadoop和Apache Spark为处理海量零售户数据提供了强大的支持
533 0
|
分布式计算 Serverless 数据处理
EMR Serverless Spark 实践教程 | 通过 Apache Airflow 使用 Livy Operator 提交任务
Apache Airflow 是一个强大的工作流程自动化和调度工具,它允许开发者编排、计划和监控数据管道的执行。EMR Serverless Spark 为处理大规模数据处理任务提供了一个无服务器计算环境。本文为您介绍如何通过 Apache Airflow 的 Livy Operator 实现自动化地向 EMR Serverless Spark 提交任务,以实现任务调度和执行的自动化,帮助您更有效地管理数据处理任务。
954 0
|
存储 机器学习/深度学习 分布式计算
Apache Hudi在Hopsworks机器学习的应用
Apache Hudi在Hopsworks机器学习的应用
355 0

热门文章

最新文章

推荐镜像

更多