
spark
新宿一次狼
瞎写而已......
展开
-
spark中shuffle过程分区源码分析
spark rdd 在shuffle过程中,涉及数据重组和重新分区,主要是根据key值,把相同的key值分配到同一个区。需要注意的是,因为分区的数量是有限的,所以会有不同的key分到相同的分区,这个过程主要是用hash算法实现。分区规则由抽象类Partitioner控制。默认分区是用HashPartitioner往下找可以找到HashPartitionerclass HashPartitioner(partitions: Int) extends Partitioner { require(pa原创 2020-11-16 12:04:05 · 335 阅读 · 0 评论 -
spark中rdd分区源码分析—textFile()创建rdd时的分区分析
textFile()创建rdd时分区分析此时是可以自己填入分区数的,也可以不填。现在来分析一下默认值。ctrl+鼠标左键点击textFile()def textFile( path: String, minPartitions: Int = defaultMinPartitions): RDD[String] = withScope { assertNotStopped() hadoopFile(path, classOf[TextInputFormat],原创 2020-11-16 10:43:40 · 698 阅读 · 0 评论 -
spark中rdd分区源码分析——parallelize()创建rdd时的分区分析
spark很让人迷惑的问题就是分区了。1.spark可以分成两代,第一代是rdd,主要是用来分析日志文件比较多,rdd里面就涉及到了分区的概念,spark是怎么去执行一个程序的。到了第二代,sparksql,已经没有需要个人自己去分区了,更多是操纵表,写sql。2.spark分区原则:(1)rdd分区的原则是尽量利用集群中的cpu数量,比如一个wordcount任务,一开始根据整个集群中cpu的个数,分成的份数尽量等于cpu核数,就可以充分利用cpu的资源。(2)rdd在有两种创建方法,分别是par原创 2020-11-15 22:11:51 · 1939 阅读 · 1 评论 -
spark代码idea、yarn、standalone模式运行
1.idea上运行val conf = new SparkConf().setAppName("SparkRDDWordCount") .setMaster("local[*]") //设置本地模式,用尽可能多的cpu2.yarnyarn模式分client客户端模式和cluster集群模式测试可以用client模式生产环境用cluster模式yarn模式运行spark,可以不用启动spark集群。这是与standalone模式的一个区别。还有查看运行的日志端口不同,yarn是原创 2020-11-15 15:39:41 · 636 阅读 · 0 评论 -
spark程序打jar包
spark代码要在集群上运行,需要先在idea上面打成jar包。1.打包前需要把一些代码删除掉package org.exampleimport org.apache.spark.{SparkConf, SparkContext}object WordCount { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("SparkRDDWordCount")// .se原创 2020-11-15 13:58:12 · 704 阅读 · 0 评论 -
spark的pom.xml
一个spark任务提交前需要用idea打包代码,pom.xml设置<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <原创 2020-11-15 11:27:27 · 817 阅读 · 0 评论 -
spark中用yarn client和yarn cluster两种模式提交任务
spark需要设置参数1、spark-env.sh 根据集群设置export SPARK_HOME=/export/servers/spark-2.2.0-bin-hadoop2.7export JAVA_HOME=/export/servers/jdk1.8.0_141export HADOOP_CONF_DIR=/export/servers/hadoop-2.7.5/etc/hadoop2、slaves 根据集群设置node01node02node03yarn cluster 模原创 2020-08-28 00:00:58 · 1118 阅读 · 0 评论 -
spark报错INFO yarn.Client: Application report for application (state: ACCEPTED)解决
在生产环境中,spark的计算任务提交一般是用yarn模式来做提交的。今天在自己搭建的集群测试yarn提交时候遇到以下报错,20/08/27 23:04:15 INFO yarn.Client: Application report for application_1598539765305_0002 (state: ACCEPTED)20/08/27 23:04:16 INFO yarn.Client: Application report for application_15985397653原创 2020-08-27 23:34:41 · 9238 阅读 · 0 评论