IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Spark-Shell启动与运行 -> 正文阅读

[大数据]Spark-Shell启动与运行

一、运行spark-shell命令

? ? ? ? 进入spark-2.1.0-bin-hadoop2.4目录下 输入spark-shell命令

?二、Spark Rdd简单操作

? ? ? ? 1.在Linux本地文件加载数据 创建Rdd

collect()以数组的形式返回数据集的所有元素
val rdd = sc.textFile("file:///root/word.txt")
rdd.collect()

????????2.rdd中简单的运算和排序?

map()

返回一个新的rdd,rdd由每一个输入元素经过函数转换后组成。

sortBy()返回一个新的rdd,? ?rdd由经过排序后组成
filter()

返回一个新的rdd,rdd由经过函数计算后返回值为true的输入元素组成。

collect()以数组的形式返回数据集的所有元素
val rdd1 = sc.parallelize(List(5, 4, 6, 7, 3, 2, 8, 9, 1))
//rdd1中的每个元素乘2
val rdd2 = rdd1.map(x => *2)
//对rdd2中的每个元素进行升序(降序)
val rdd3 = rdd2.sortBy(x => x, true(false))
//过滤在rdd3中大于10的元素
val rdd4 = rdd3.filter(x => x >= 10)
将元素以数组的方式显示
rdd4.collect()

? ? ? ? 3.rdd中元素的切分并按照放入同一个数组

flatMap()类似于map,但输入元素可以被映射,用于词频拆分
val rdd1 = sc.parallelize(Array("a b c", "d e f", "h i j"))
val rdd2 = rdd1.flatMap(x => x.split(' '))
rdd2.collect()

????????4.rdd中求交集、并集以及去重操作

union()对第一个rdd和第二个rdd求并集后返回一个新的rdd
intersection()第一个rdd和第二个rdd求交集后返回一个新的rdd
distinct()将rdd中的数据进行去重后返回一个新的rdd
collect()以数组的形式返回数据集的所有元素
val rdd1 = sc.parallelize(List(5, 6, 4, 3))
val rdd2 = sc.parallelize(List(1, 2, 3, 4))
val rdd3 = rdd1.union(rdd2)
val rdd4 = rdd1.intersection(rdd2)
rdd3.distinct.collect()
rdd4.collect()

? ? ? ? 5.rdd中连接操作

join()返回相同的key对应的所有元素
collect()以数组的形式返回数据集的所有元素
val rdd1 = sc.parallelize(List(("tom", 1), ("jerry", 3), ("kitty", 2)))
val rdd2 = sc.parallelize(List(("jerry", 2), ("tom", 1), ("shuke", 2)))
//将rdd1和rdd2连接
val rdd3 = rdd1.join(rdd2)
rdd3.collect()

? ? ? ? 6.map,reduce相似操作

groupByKey()返回一个(l,iterator[数据类型]) 的rdd
reduceByKey()在一个(k,v)对的rdd上调用,返回一个新的(k,v)对rdd,用于统计
collect()以数组的形式返回数据集的所有元素
val rdd = sc.parallelize(Array("hello java, hello mysql, hello hadoop"))
val rdd2 = rdd.flatMap(x => x.split(" "))
val rdd3 = rdd2.map(x => (x,1))
val rdd4 = rdd3.groupByKey()
val rdd5 = rdd3.reduceByKey((a,b) => a+b))
rdd5.collect()

三、Rdd编程API

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:29:13  更:2021-08-10 13:30:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 18:29:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码