spark shell
启动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的更多相关文章
- Spark shell的原理
Spark shell是一个特别适合快速开发Spark原型程序的工具,可以帮助我们熟悉Scala语言.即使你对Scala不熟悉,仍然可以使用这个工具.Spark shell使得用户可以和Spark集群 ...
- Spark:使用Spark Shell的两个示例
Spark:使用Spark Shell的两个示例 Python 行数统计 ** 注意: **使用的是Hadoop的HDFS作为持久层,需要先配置Hadoop 命令行代码 # pyspark >& ...
- Spark源码分析之Spark Shell(上)
终于开始看Spark源码了,先从最常用的spark-shell脚本开始吧.不要觉得一个启动脚本有什么东东,其实里面还是有很多知识点的.另外,从启动脚本入手,是寻找代码入口最简单的方法,很多开源框架,其 ...
- Spark源码分析之Spark Shell(下)
继上次的Spark-shell脚本源码分析,还剩下后面半段.由于上次涉及了不少shell的基本内容,因此就把trap和stty放在这篇来讲述. 上篇回顾:Spark源码分析之Spark Shell(上 ...
- [Spark内核] 第36课:TaskScheduler内幕天机解密:Spark shell案例运行日志详解、TaskScheduler和SchedulerBackend、FIFO与FAIR、Task运行时本地性算法详解等
本課主題 通过 Spark-shell 窥探程序运行时的状况 TaskScheduler 与 SchedulerBackend 之间的关系 FIFO 与 FAIR 两种调度模式彻底解密 Task 数据 ...
- 【原创 Hadoop&Spark 动手实践 5】Spark 基础入门,集群搭建以及Spark Shell
Spark 基础入门,集群搭建以及Spark Shell 主要借助Spark基础的PPT,再加上实际的动手操作来加强概念的理解和实践. Spark 安装部署 理论已经了解的差不多了,接下来是实际动手实 ...
- [Spark Core] Spark Shell 实现 Word Count
0. 说明 在 Spark Shell 实现 Word Count RDD (Resilient Distributed dataset), 弹性分布式数据集. 示意图 1. 实现 1.1 分步实现 ...
- Spark Shell简单使用
基础 Spark的shell作为一个强大的交互式数据分析工具,提供了一个简单的方式学习API.它可以使用Scala(在Java虚拟机上运行现有的Java库的一个很好方式)或Python.在Spark目 ...
- Spark Shell Examples
Spark Shell Example 1 - Process Data from List: scala> val pairs = sc.parallelize( List( ("T ...
- 02、体验Spark shell下RDD编程
02.体验Spark shell下RDD编程 1.Spark RDD介绍 RDD是Resilient Distributed Dataset,中文翻译是弹性分布式数据集.该类是Spark是核心类成员之 ...
随机推荐
- C#最简单例子
using System; namespace ConsoleApplication1 { class People { int age; string name; public string get ...
- github page
使用github page 可以查看仓库中保存的网页的事例 新建gh-pages的分支,然后点击上方的page按钮即可配置相应的链接以及地址 注:默认情况下显示的是当前文件下的index.html文件 ...
- 写JQuery 插件 什么?你还不会写JQuery 插件
http://www.cnblogs.com/Leo_wl/p/3409083.html 前言 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui ...
- 拓扑排序 - 并查集 - Rank of Tetris
Description 自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球. 为了更好的符合那些爱好者的喜好,Lele又想了一个新点子:他将制作一个全球 ...
- NOI 题库 7084
7084 迷宫问题 描述 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, ...
- YACC和BISON学习心得
最近学习了YACC和BISON两个工具,参考书籍<YACC和BISON>,通过里面的例子,明白了如何编写自己的解释性语言.
- 将Matlab中的矩阵输出到txt文件
将矩阵输出到txt文件中的方法,遍寻网络,始见真经!!! fid=fopen('C:Documents and Settingscleantotal.ped','wt');%写入文件路径 matrix ...
- java任务调度quartz框架的小例子
quartz是一个开源的作业调度框架,当然,java可以使用Timer来实现简单任务调度的功能,但Timer是单线程的设计方案,使得一个任务延迟会影响到其他的任务.java也可以使用Scheduled ...
- UI测试测试分析
解析:jQuery easyUI是基于jQuery框架在使用之前应该先引入jquery框架否则jQuery easyUI 将失效故D错误 解析: JQuery UI下的menu插件的使用,menu提供 ...
- VS2013 配置pthread
参考:http://blog.csdn.net/qianchenglenger/article/details/16907821 一.下载地址 ftp://sourceware.org/pub/pth ...