启动spark-shell客户端

启动集群模式

本机为master节点

export MASTER=spark://`hostname`:7077
bin/spark-shell

或者

bin/spark-shell --master spark://ip:7077

如果没有spark实例启动,直接运行bin/spark-shell则启动的是本地模式,并且线程数为1,该启动方式和下面的效果一样

bin/spark-shell --master local

启动本地模式,线程数为n:

bin/spark-shell --master local[n]

./bin/spark-shell --help 查看更详细的参数信息

spark-shell 默认会创建一个SparkContext对象sc和一个SparkSession对象为spark,利用这些对象我们可以做一些命令行的操纵。

SparkSession可以用来创建SparkContext对象(spark.sparkContext),这个是新版的api。

常用的方法

RDD的方法分为transformations和actions,当对RDD进行transformation时,不会立刻执行,因为transformation是延迟执行的,

此时只会记录RDD的lineage,transformation返回的数据还是RDD。action会立刻执行,返回操作后的结果集

1、textFile: 加载文件,如果文件不是分布式文件,则每个work节点都需要有这个文件,不然运行的时候会提示文件找不到错误

sc.textFile("README.md")

2、addFile:添加文件到spark中

sc.addFile("../test")

可以通过 sc.textFile(SparkFiles.get("test"))进行文件的加载,注意引入import org.apache.spark.SparkFiles

3、count:RDD中有多少条数据

val input = sc.textFile("../README.md")

input.count

4、first:返回RDD中的第一条数据

input.first

5、map:对RDD中的每一条数据做map方法中传递的方法的操作

val spaceSplit = input.map(_.split(" "))

spaceSplit.first

6、flatMap:对RDD的数据进行映射后,合并成一个集合

val fmInput = input.flatMap(_.split(" "))

flatMap:

map:

7、take:取RDD中的前几条数据

val input = sc.textFile("../README.md")

取第一条数据:input.take(1)

取前三条数据:input.take(3)

8、collect:以集合的形式返回RDD中的数据

input.collect

9、reduceByKey:对相同key的值,做给定方法的操作,下面是一个spark实现的map reduce统计文件中的单词个数

input.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_).collect

spark shell的更多相关文章

  1. Spark shell的原理

    Spark shell是一个特别适合快速开发Spark原型程序的工具,可以帮助我们熟悉Scala语言.即使你对Scala不熟悉,仍然可以使用这个工具.Spark shell使得用户可以和Spark集群 ...

  2. Spark:使用Spark Shell的两个示例

    Spark:使用Spark Shell的两个示例 Python 行数统计 ** 注意: **使用的是Hadoop的HDFS作为持久层,需要先配置Hadoop 命令行代码 # pyspark >& ...

  3. Spark源码分析之Spark Shell(上)

    终于开始看Spark源码了,先从最常用的spark-shell脚本开始吧.不要觉得一个启动脚本有什么东东,其实里面还是有很多知识点的.另外,从启动脚本入手,是寻找代码入口最简单的方法,很多开源框架,其 ...

  4. Spark源码分析之Spark Shell(下)

    继上次的Spark-shell脚本源码分析,还剩下后面半段.由于上次涉及了不少shell的基本内容,因此就把trap和stty放在这篇来讲述. 上篇回顾:Spark源码分析之Spark Shell(上 ...

  5. [Spark内核] 第36课:TaskScheduler内幕天机解密:Spark shell案例运行日志详解、TaskScheduler和SchedulerBackend、FIFO与FAIR、Task运行时本地性算法详解等

    本課主題 通过 Spark-shell 窥探程序运行时的状况 TaskScheduler 与 SchedulerBackend 之间的关系 FIFO 与 FAIR 两种调度模式彻底解密 Task 数据 ...

  6. 【原创 Hadoop&Spark 动手实践 5】Spark 基础入门,集群搭建以及Spark Shell

    Spark 基础入门,集群搭建以及Spark Shell 主要借助Spark基础的PPT,再加上实际的动手操作来加强概念的理解和实践. Spark 安装部署 理论已经了解的差不多了,接下来是实际动手实 ...

  7. [Spark Core] Spark Shell 实现 Word Count

    0. 说明 在 Spark Shell 实现 Word Count RDD (Resilient Distributed dataset), 弹性分布式数据集. 示意图 1. 实现 1.1 分步实现 ...

  8. Spark Shell简单使用

    基础 Spark的shell作为一个强大的交互式数据分析工具,提供了一个简单的方式学习API.它可以使用Scala(在Java虚拟机上运行现有的Java库的一个很好方式)或Python.在Spark目 ...

  9. Spark Shell Examples

    Spark Shell Example 1 - Process Data from List: scala> val pairs = sc.parallelize( List( ("T ...

  10. 02、体验Spark shell下RDD编程

    02.体验Spark shell下RDD编程 1.Spark RDD介绍 RDD是Resilient Distributed Dataset,中文翻译是弹性分布式数据集.该类是Spark是核心类成员之 ...

随机推荐

  1. Mybatis 学习笔记1 不整合Spring的方式使用mybatis

    两种方式都包含了: package com.test.mybatis; import java.util.List; import org.apache.ibatis.io.Resources; im ...

  2. Android 笔记 day3

    短信发送器 电脑弱爆了,开第二个emulater要10min!!! 顺便学会查看API文档 package com.example.a11; import java.util.*; import an ...

  3. 【转】Linux下进程/程序网络带宽占用情况查看工具 -- NetHogs

    http://www.cnblogs.com/carbon3/p/5930803.html 之前VPS侦探曾经介绍过流量带宽相关的工具如:iftop.vnstat,这几个都是统计和监控网卡流量的.但是 ...

  4. 各种解析漏洞获取Webshell

    各种解析漏洞拿shell  一.IIS 6.0解析漏洞 IIS 6.0解析利用方法有两种1.目录解析/xx.asp/xx.jpg2.文件解析wooyun.asp;.jpg第一种,在网站下建立文件夹的名 ...

  5. WPF 点击Calendar后,需要点击两次按钮

    主面板上有一个Calendar控件,点击选择了日期后,如果点击确认按钮,需要点击两次.这个问题的解决方法如下:     private void calendar1_PreviewMouseUp(ob ...

  6. NOIP2009分数线划定【B004】

    [B004]分数线划定[难度B]—————————————————————————————————————————————————————————————————————————— [题目要求] 世博 ...

  7. Webpack 入门指迷--转载(题叶)

    最近看到这个东西,一头雾水.看了一些资料了解了Webpack概念,大体是webpack 是一个模块绑定器,主要目的是在浏览器上绑定 JavaScript 文件. 看到题叶写的一篇介绍,写的很好,转载连 ...

  8. enumerate()

    今天我们学一个单词 enumerate 后面加个括号 他就不是单词了,那是什么呢 来看一下 enumerate() a = ('htc', 'oppo', 'vivo', 'huawei', 'mi' ...

  9. 【BZOJ1076】[SCOI2008]奖励关 状压DP+期望

    [BZOJ1076][SCOI2008]奖励关 Description 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须 ...

  10. 我觉得好用的VS扩展(不定期更新)

    首先向这些扩展的创作者致敬 这里都是2013版的  有些在给出的连接里有该扩展支持的其他版本连接 当然你也可以通过 VS->工具->扩展和更新->在线->搜索扩展名 来找到它们 ...