Spark快速上手之交互式分析

1.1  Spark交互式分析

运行Spark脚本前,启动Hadoop的HDFS和YARN。Spark的shell提供

了简单方式去识别API,同样也有一个强大的工具去交互式地分析数据。两种语言有这样的交换能力,分别是Scala 和 Python。下面将演示如何使用Python来分析数据文件。

进入Spark安装主目录,输入下面的命令,python命令行模式将会启动。

./bin/pyspark

Spark的主要抽象是一个称之为弹性分布式数据集(Resilient Distributed Dataset,RDD)。RDD能够从Hadoop输入格式(InputFormat,比如HDFS文件),或者通过转换其它RDDs。这里,我们将上传Spark主目录下的README文件上传到Hadoop的文件系统/user/app(app是我的linux用户名)目录下。具体的命令如下:

hdfs dfs –mkdir–p /user/app
hdfs dfs –putREADME.md /usr/app

使用Python创建一个新的弹性分布式数据集,定义如下。

>>>textFile = sc.textFile("README.md")

RDD有actions,,它能够返回值以及转换transformations,也可以返回指向新的RDD的指针。下面就是几个RDD的action操作。

>>>textFile.count() # 返回这个RDD的数据项个数
126

>>>textFile.first() # 返回这个RDD的第一项数据
u'# ApacheSpark'

现在让我们使用一个转换(transformation),我们将使用filter转换返回一个新的RDD,伴随着文件中的数据项的子集。

>>>linesWithSpark=textFile.filter(lambdaline:"Spark"inline)

我们能够链式化转换和动作:

>>> textFile.filter(lambda line:"Spark"inline).count()# How many linescontain "Spark"?
15

RDD动作和转换能够被用作更为复杂的计算,看下面的例子。

>>> textFile.map(lambdaline: len(line.split())).reduce(lambda a, b: aif (a > b)elseb)
15

这个参数的第一项映射一行的数据到一个integer值,创建一个新的RDD。reduce在RDD上被调用,用于找到一个最大的行数。map和reduce的参数是Python匿名函数lambdas。与此同时,你也能够传入任何你想要的顶级Python函数。不如,下面就是传入的一个Python函数。

>>> defmax(a, b):
...     if a > b:
...         return a
...     else:
...         return b
...

>>>textFile.map(lambda line: len(line.split())).reduce(max)
15

Spark快速上手之交互式分析

时间: 2024-10-08 08:18:38

Spark快速上手之交互式分析的相关文章

Power BI教程_Power BI数据分析快速上手及案例实战

Power BI数据分析快速上手及案例实战 课程学习地址:http://www.xuetuwuyou.com/course/194 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本课程在<Power BI 数据分析快速上手>基础上结合大量的实例,深入讲解PowerBI中看似难懂的各种概念.操作, 并结合行业中的典型案例贯穿了从初级的数据透视表工具.数据透视表选项.数据透视表的刷新.数据透视表中的排序,到中级的动 态数据透视表的创建.数据透视表函数 GETPI

快速上手Ionic3 多平台开发企业级问答社区

详情请交流  QQ  709639943 01.快速上手Ionic3 多平台开发企业级问答社区 02.基于大数据技术之电视收视率企业项目实战(hadoop+Spark) 03.Node.js入门到企业Web开发中的应用 04.精通高级RxJava 2响应式编程思想 05.Java秒杀系统方案优化 高性能高并发实战 06.Java深入微服务原理改造房产销售平台 07.快速上手Linux 玩转典型应用 08.全面系统讲解CSS 工作应用+面试一步搞定 09.Java Spring Security开

快速上手JMeter

详情请交流  QQ  709639943 00.快速上手JMeter 00.Jmeter 00.2017年Java web开发工程师成长之路 00.R语言速成实战 00.R语言数据分析实战 00.Python+Django+Ansible Playbook自动化运维项目实战 00.Java深入微服务原理改造房产销售平台 00.Python3入门机器学习 经典算法与应用 00.老司机学python篇:第一季(基础速过.机器学习入门) 00.Python 从入门到精通 78节.2000多分钟.36小

Python编程快速上手 让繁琐工作自动化 云图

图书封面 本书简介 本书的第一部分介绍了基本 Python 编程概念,第二部分介绍了一些不同的任务,你可以让计算机自动完成它们.第二部分的每一章都有一些项目程序,供你学习.下面简单介绍一下每章的内容.第一部分: Python 编程基础"第 1 章: Python 基础"介绍了表达式. Python 指令的最基本类型,以及如何使用 Python 交互式环境来尝试运行代码."第 2 章:控制流"解释了如何让程序决定执行哪些指令,以便代码能够智能地响应不同的情况.&quo

Python编程快速上手 让繁琐工作自动化pdf

[下载地址] 如今,人们面临的大多数任务都可以通过编写计算机软件来完成.Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.通过Python编程,我们能够解决现实生活中的很多任务. 本书是一本面向实践的Python编程实用指南.本书的目的,不仅是介绍Python语言的基础知识,而且还通过项目实践教会读者如何应用这些知识和技能.本书的首部分介绍了基本Python编程概念,第二部分介绍了一些不同的任务,通过编写Python程序,可以让计算机自动完成它们.第二部分的每一章都有一些项目程

R语言快速上手入门

R语言快速上手入门 课程学习网址:http://www.xuetuwuyou.com/course/196 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本教程深入浅出地讲解如何使用R语言玩转数据.课程中涵盖R语言编程的方方面面,内容涉及R对象的类型.R的记号体系和环境系统.自定义函数.if else语句.for循环.S3类R的包系统以及调试工具等.本课程还通过示例演示如何进行向量化编程,从而对代码进行提速并尽可能地发挥R的潜能.本课程适合立志成为数据科学家的

《Python编程快速上手 让繁琐工作自动化》pdf

<div id="article_content" class="article_content tracking-ad" data-mod="popu_307" data-dsm="post"> <p><br></p><p>下载地址:<a target="_blank" href="https://page74.ctfile.co

Solr基础理论与维护管理快速上手(含查询参数说明)

1. solr基础 因为 Solr 包装并扩展了 Lucene,所以它们使用很多相同的术语.更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容.通过对 Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引. 在 Solr 和 Lucene 中,使用一个或多个 Document 来构建索引.Document 包括一个或多个 Field.Field 包括名称.内容以及告诉 Solr 如何处理内容的元数据.例如,Fi

如何R语言快速上手入门

R语言快速上手入门 课程学习网址:http://www.xuetuwuyou.com/course/196 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本教程深入浅出地讲解如何使用R语言玩转数据.课程中涵盖R语言编程的方方面面,内容涉及R对象的类型.R的记号体系和环境系统.自定义函数.if else语句.for循环.S3类R的包系统以及调试工具等.本课程还通过示例演示如何进行向量化编程,从而对代码进行提速并尽可能地发挥R的潜能.本课程适合立志成为数据科学家的