spark
文章平均质量分 56
上官沐雪
第一步:减少愚蠢的需求。
第二步:努力删减部件或过程
第三步:简化和优化设计。
第四步:加速迭代周期
第五步:自动化
展开
-
三.spark优化参数
spark优化参数--设置spark shuffle分区数量参考: excutor-cores * 3 set("spark.sql.shuffle.partitions", "36")--1.broadcastHashJOin--默认小表小于10M自动进行广播joinset("spark.sql.autoBroadcastJoinThreshold","10m")--1.可强制使用广播join SQL Hint暗示方式 select /*+ BROADCASTJOIN(sc) */原创 2021-12-21 21:20:22 · 1393 阅读 · 0 评论 -
一.spark内存模型和执行计划过程
一. spark内存模型和执行计划过程1. spark内存模型说明:总内存分为:统一内存(60%)和其他内存(40%)。1. 其中统一内存分为:storage存储内存,和Execution执行内存,分别占50%。storage内存用于broadcast缓存数据:Storage 堆内内存=(spark.executor.memory–300MB)spark.memory.fractionspark.memory.storageFractionExecution执行shuffle产生的数据:E原创 2021-12-16 21:11:42 · 1526 阅读 · 0 评论 -
spark算子
spark算子介绍一、sparkCore相关算子1. source读取数据相关算子:##从内存中创建的集合,默认按照分区的数据平均分配,最后多的数据落到最后一个分区1. parallelize:从集合中获取rddval sparkConf = new SparkConf().setMaster("local[2]").setAppName(this.getClass.getSimpleName.stripSuffix("$")) val sparkContext = new SparkCo原创 2021-11-29 21:24:01 · 323 阅读 · 0 评论 -
spark on yarn的提交过程
spark on yarn集群的提交过程当程序提交时会启动sparkSubmit进程,里面会有解析参数对象(sparkSubmitArguments)和连接yarn的对象(yarnClusterApplication、yarnClient)连接yarn的对象连接resourceManager,请求启动ApplicationMaterresourceManager启动ApplicationMaterApplicationMater启动driver并且初始化sparkContextApplicati原创 2021-11-26 20:48:11 · 425 阅读 · 0 评论 -
使用bulkload方式加载数据到HBase(三种方式)
使用spark把hive数据bulkload到HBase场景:最近有大量数据存在hive里,由于业务需呀,把hive数据放到HBase里于是想到如下三种方案:1.使用hive表映射hbaseCREATE external TABLE `hbase_website`( `key` string, `ocid` string, `companyname` string, `createtime` bigint, `updatetime` bigint, `sitenam原创 2021-06-01 10:31:41 · 1872 阅读 · 0 评论 -
二. spark相关参数的推导
spark相关参数的推导1. 集群配置10 Nodes16 cores per Node64GB RAM per Node1.1 内存比较大的情况下:第一,根据上面的参数建议,我们给每个Executor分配5个core即executor-cores=5,这样对HDFS的吞吐量会比较友好。第二,为后台进程留一个core,则每个节点可用的core数是16 - 1 = 15。所以集群总的可用core数是15 x 10 = 150。第三,每个节点上的Executor数就是 15 / 5 = 3,集群原创 2021-06-01 13:10:04 · 185 阅读 · 0 评论