![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
文章平均质量分 73
左林右李02
mt实时数据平台研发
展开
-
spark5种join策略
因为是否小表走广播是根据spark对元数据的估算得到的,如果join表有很多的filter容易把表估大,造成本可以广播的情况实际没有广播原创 2022-05-16 22:20:28 · 685 阅读 · 0 评论 -
s3文件重命名
package com.bighalf.doc.amazon;import java.io.ByteArrayInputStream;import java.io.InputStream;import java.util.List;import com.amazonaws.auth.AWSCredentials;import com.amazonaws.auth.BasicAWSCredentials;import com.amazonaws.services.s3.AmazonS3;im转载 2022-01-04 11:23:39 · 940 阅读 · 0 评论 -
流处理框架分类和对比
对比项目spark streamingflink处理模式微批处理,需要设置批的大小流处理,每一条数据都会触发计算时间语义spark streaming 仅支持处理时间(structured streaming支持处理时间和事件时间,同时有watermark处理延迟数据)支持三种时间(处理时间、注入时间、事件时间)准确性保证恰好一次恰好一次...翻译 2021-05-19 19:52:47 · 295 阅读 · 0 评论 -
spark常用调优参数
spark.default.parallelism参数说明:该参数用于设置每个stage的默认task数量。这个参数极为重要,如果不设置可能会直接影响你的Spark作业性能。参数调优建议:Spark作业的默认task数量为500~1000个较为合适。很多同学常犯的一个错误就是不去设置这个参数,那么此时就会导致Spark自己根据底层HDFS的block数量来设置task的数量,默认是一个HDFS block对应一个task。通常来说,Spark默认设置的数量是偏少的(比如就几十个task),如果.转载 2021-03-22 15:08:23 · 938 阅读 · 0 评论 -
spark job调度
spark job调度跨application的调度动态资源分配配置资源分配策略请求策略移除策略单application内的调度fair scheduler pool(公平调度池)池的默认行为配置池属性使用JDBC连接进行调度跨application的调度在集群上运行时,每个Spark应用程序都会获得一组独立的执行器JVM,它们仅运行该应用程序的任务并存储数据。 如果多个用户需要共享您的集群,则有不同的选项来管理分配,具体取决于集群管理器。所有群集管理器上可用的最简单的选项是资源的静态分区。 使用这种翻译 2021-01-05 22:01:35 · 590 阅读 · 0 评论 -
spark shuffle的演进过程
spark各版本shuffle的变化Spark 0.8及以前 Hash Based ShuffleSpark 0.8.1 为Hash Based Shuffle引入File Consolidation机制Spark 1.1 引入Sort Based Shuffle,但默认仍为Hash Based ShuffleSpark 1.2 默认的Shuffle方式改为Sort Based ShuffleSpark 1.4 引入Tungsten-Sort Based ShuffleSpark 1.6 Tu原创 2020-10-21 21:10:16 · 178 阅读 · 0 评论 -
spark调优-开发篇
原则一:对多次使用的RDD进行持久化Spark中对于一个RDD执行多次算子的默认原理是这样的:每次你对一个RDD执行一个算子操作时,都会重新从源头处计算一遍,计算出那个RDD来,然后再对这个RDD执行你的算子操作。这种方式的性能是很差的。因此对于这种情况,我们的建议是:对多次使用的RDD进行持久化。此时Spark就会根据你的持久化策略,将RDD中的数据保存到内存或者磁盘中。以后每次对这个RDD进行算子操作时,都会直接从内存或磁盘中提取持久化的RDD数据,然后执行算子,而不会从源头处重新计算一遍这个RDD转载 2020-10-09 21:20:37 · 98 阅读 · 0 评论 -
spark-shell查看parquet文件内容
1、进入spark shell./spark-shell2、执行以下操作读取parquet文件val sqlContext = new org.apache.spark.sql.SQLContext(sc)val parquetFile = sqlContext.parquetFile("/user/hive/warehouse/ods.db/ods_mall_lite_pc_v3/br...转载 2020-05-08 11:01:12 · 1780 阅读 · 0 评论 -
spark coalesce和repartition的区别
查看spark源码/** * Returns a new Dataset that has exactly `numPartitions` partitions, when the fewer partitions * are requested. If a larger number of partitions is requested, it will stay at the c...原创 2020-03-18 16:25:19 · 410 阅读 · 0 评论