首页 > 其他分享 >Spark学习笔记01

Spark学习笔记01

时间:2023-04-05 23:22:51浏览次数:32  
标签:返回 01 func 元素 笔记 RDD key Spark spark

1、spark程序开发完成后,打包成jar包。

如何将jar包分发到 spark集群?
1、启动集群
启动master ./sbin/start-master.sh

启动worker
./bin/spark-class org.apache.spark.deploy.worker.worker spark://localhost.localdomain:7077

提交作业
./bin/spark-submit --master spark://localhost.localdomain:7077 --class WordCount /home/maixia/soft/imoocpro.jar


RDD常用function
map()
filter()
flatMap()
collect() 返回RDD的所有元素、
count() 计数
countByValue() 返回一个map表示唯一元素出现的个数
take(num) 返回几个元素
top(num) 返回前几个元素
takeOrdered(num)(ordering) 返回基于提供的排序算法的前几个元素
takeSample(withReplacement,num,[seed]) 取样例

reduce(func) 合并RDD中元素
接收一个函数,作用在RDD两个类型相同的元素上,返回新元素。
可以实现,RDD中元素的累加,计数,和其它类型的聚集操作。

fold(zero)(func) 与reduce()相似提供zero value
aggregate(zeroValue)(seqOp,combOp) 与fold()相似,返回不同类型
foreach(func) 对RDD的每个元素作用函数,什么也不返回

reduceByKey(func) 把相同key的结合
groupByKey() 把相同的key的values分组

combineByKey(createCombiner,mergeValue,mergeCombiners,partitioner)
把相同key的结合,使用不同的返回类型
遍历partition中的元素,元素的key,要么之前见过的,要么不是
如果是新元素,使用我们提供的createCombiner()函数
如果是这个partition中已经存在的key,就会使用mergeValue函数。
合计每个partition的结果的时候,使用mergeCombiners()函数。

mapValues(func) 函数作用于pairRDD的每个元素,key不变
flatMapValues(func) 符号化的时候使用
keys() 仅返回keys
values() 仅返回values
sortByKey() 按照key排序的RDD

spark sql介绍:
1、集成性: 在spark编程中无缝对接多种复杂的SQL;
2、统一的数据访问方式:以类似的方式访问多种不同的数据源,可以进行相关操作
spark.read.format("json").load(path)
spark.read.format("text").load(path)
spark.read.format("parquet").load(path)
spark.read.format("json").option("...","...").load(path)
3、兼容 Hive
4、标准数的数据连接:提供标准的JDBC/ODBS连接方式

spark SQL应用并不局限于SQL,还支持hive\JSON\Parquet文件的直接读取和操作。
SQL仅仅是Spark SQL中的一个功能而矣。

标签:返回,01,func,元素,笔记,RDD,key,Spark,spark
From: https://www.cnblogs.com/annychen/p/17291274.html

相关文章

  • 【LeetCode剑指offer 01】数组中重复的数字、两个栈实现队列
    数组中重复的数字数组中重复的数字找出数组中重复的数字。在一个长度为n的数组nums里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例1:输入:[2,3,1,0,2,5,3]输......
  • CSS笔记(待完善)
    CSS笔记css权重ID(100)>class(10)>element(1)css最高权重!important块元素(block)可以设置宽度和高度,独立成行。h1~h6、p、div、ul、li行内元素(内联元素、块级元素)(inline)不可以设置宽度和高度,不独立成行a、span行内块元素(inline-block)可以设置宽度和高度,不独立......
  • VS2012、VS2013、VS2015、VS2019 代码自动注释插件【2】
    Git代码自动注释工具源码地址 VS2010、VS2012、VS2013的代码自动注释插件。安装该插件后,可以在VS的菜单中显示“注释”主菜单,可以给类、函数、成员添加标准的注释,与Doxygen配合使用,可以直接生成项目的注释文档。【插件下载】高版本的VS,可以下载源码后,自行编译使用。【插件安装】......
  • Java笔记(10) GUI->布局
    这里介绍3种布局:FlowLayout流式布局BorderLayout边界布局GridLayout网格布局FlowLayout/*MyFrame定义见Java笔记9,这里添加了事件监听方法*/publicclassTestFlowLayout{publicstaticvoidmain(String[]args){MyFramemyFrame=newMyFram......
  • Java Stream学习笔记(一)
    JavaStream学习笔记Stream是Java8API添加的一个新的抽象,称为流Stream,以一种声明性方式处理数据集合(侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式)。一、特点1、代码简洁:函数式编程写出的代码简洁且意图明确,使用stream接口让你从此告别for循环。2、多核友好......
  • Django笔记十六之aggregate聚合操作
    本文首发于微信公众号:Hunter后端原文链接:Django笔记十六之aggregate聚合操作这一篇笔记介绍一下关于聚合的操作,aggregate。常用的聚合操作比如有平均数,总数,最大值,最小值等等用到的model如下classAuthor(models.Model):name=models.CharField(max_length=100)......
  • 【重要】Nginx模块Lua-Nginx-Module学习笔记(三)Nginx + Lua + Redis 已安装成功(非open
    一、目标使用Redis做分布式缓存;使用luaAPI来访问redis缓存;使用nginx向客户端提供服务,ngx_lua将lua嵌入到nginx,让nginx执行lua脚本,高并发,非阻塞的处理各种请求。url请求nginx服务器,然后lua查询redis,返回json数据。二、准备工作系统环境:Ubuntu14.0(64位)Redis服务安装:ap......
  • 【精选】Nginx负载均衡学习笔记(一)实现HTTP负载均衡和TCP负载均衡(官方和OpenResty两种
    说明:很简单一个在HTTP模块中,而另外一个和HTTP是并列的Stream模块(Nginx1.9.0支持)一、两个模块的最简单配置如下1、HTTP负载均衡:http{includemime.types;default_typeapplication/octet-stream;upstreamlive_node{server127.0.......
  • 流媒体技术学习笔记之(十二)Linux(Ubuntu)环境运行EasyDarwin
     Debug问题???./easydarwin-c./easydarwin.xml&//这样的话是80端口./easydarwin-c./easydarwin.xml-d//8088端口 以上出现的问题:在调试模式下加载配置文件是可以的,但是在后台模式下配置文件是加载不了的,列如:在配置文件配置后台管理端口为8088,当时在后台模式......
  • 流媒体技术学习笔记之(十一)Windows环境运行EasyDarwin
     流媒体平台框架下载安装Github下载下载地址:https://github.com/EasyDarwin/EasyDarwin/releases解压安装选择Windows安装平台的安装包(下载解压) 把解压生成的文件夹重命名放在本地磁盘,我这里测试放在E盘: 介绍其中的来个批处理文件:start.batWindows调试运......