Spark---SparkCore(二)

举报
前进的蜗牛 发表于 2023/11/24 09:48:21 2023/11/24
【摘要】 四、补充算子1、transformations 类算子mapPartitionWithIndex类似于mapPartitions,除此之外还会携带分区的索引值。repartition增加或减少分区。会产生shuffle。(多个分区分到一个分区不会产生shuffle)coalescecoalesce常用来减少分区,第二个参数是减少分区的过程中是否产生shuffle。true为产生shuffle...

四、补充算子


1、transformations 类算子

  • mapPartitionWithIndex

类似于mapPartitions,除此之外还会携带分区的索引值。

  • repartition

增加或减少分区。会产生shuffle。(多个分区分到一个分区不会产生shuffle)

  • coalesce

coalesce常用来减少分区,第二个参数是减少分区的过程中是否产生shuffle。

true为产生shuffle,false不产生shuffle。默认是false。

如果coalesce设置的分区数比原来的RDD的分区数还多的话,第二个参数设置为false不会起作用,如果设置成true,效果和repartition一样。即repartition(numPartitions) = coalesce(numPartitions,true)

  • groupByKey

作用在K,V格式的RDD上。根据Key进行分组。作用在(K,V),返回(K,Iterable <V>)。

  • zip

将两个RDD中的元素(KV格式/非KV格式)变成一个KV格式的RDD,两个RDD的每个分区元素个数必须相同。

  • zipWithIndex

该函数将RDD中的元素和这个元素在RDD中的索引号(从0开始)组合成(K,V)对。

  • mapValues

针对K,V格式的RDD,该函数对K,V格式RDD中的value做操作,返回是K,V格式的RDD.


2、Action类算子

  • countByKey

 作用到K,V格式的RDD上,根据Key计数相同Key的数据集元素。

  • countByValue

根据数据集每个元素相同的内容来计数。返回相同内容的元素对应的条数。


五、Spark PV&UV

PV是网站分析的一个术语,用以衡量网站用户访问的网页的数量。对于广告主,PV值可预期它可以带来多少广告收入。一般来说,PV与来访者的数量成正比,但是PV并不直接决定页面的真实来访者数量,如同一个来访者通过不断的刷新页面,也可以制造出非常高的PV。

1、什么是PV值

PV(page view)即页面浏览量或点击量,是衡量一个网站或网页用户访问量。具体的说,PV值就是所有访问者在24小时(0点到24点)内看了某个网站多少个页面或某个网页多少次。PV是指页面刷新的次数,每一次页面刷新,就算做一次PV流量。

度量方法就是从浏览器发出一个对网络服务器的请求(Request),网络服务器接到这个请求后,会将该请求对应的一个网页(Page)发送给浏览器,从而产生了一个PV。那么在这里只要是这个请求发送给了浏览器,无论这个页面是否完全打开(下载完成),那么都是应当计为1个PV。

2、什么是UV值

UV(unique visitor)即独立访客数,指访问某个站点或点击某个网页的不同IP地址的人数。在同一天内,UV只记录第一次进入网站的具有独立IP的访问者,在同一天内再次访问该网站则不计数。UV提供了一定时间内不同观众数量的统计指标,而没有反应出网站的全面活动。


六、Spark-Submit提交参数

Options:

  • --master

 MASTER_URL, 可以是spark://host:port, mesos://host:port, yarn,  yarn-cluster,yarn-client, local

  • --deploy-mode

DEPLOY_MODE, Driver程序运行的地方,client或者cluster,默认是client。

  • --class

CLASS_NAME, 主类名称,含包名

  • --jars

逗号分隔的本地JARS, Driver和executor依赖的第三方jar包

  • --files

用逗号隔开的文件列表,会放置在每个executor工作目录中

  • --conf

spark的配置属性

  • --driver-memory

Driver程序使用内存大小(例如:1000M,5G),默认1024M

  • --executor-memory

每个executor内存大小(如:1000M,2G),默认1G


Spark standalone with cluster deploy mode only:

  • --driver-cores

Driver程序的使用core个数(默认为1),仅限于Spark standalone模式

  • --supervise

Driver失败后是否重启Driver,仅限于Spark  alone或者Mesos模式


Spark standalone and Mesos only:

  • --total-executor-cores

executor使用的总核数,仅限于SparkStandalone、Spark on Mesos模式


Spark standalone and YARN only:

  • --executor-cores

每个executor使用的core数,Spark on Yarn默认为1,standalone默认为

Worker上所有可用的core。


YARN-only:

  • --driver-cores

driver使用的core,仅在cluster模式下,默认为1。

  • --queue

QUEUE_NAME  指定资源队列的名称,默认:default

  • --num-executors

一共启动的executor数量,默认是2个。





【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。