![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spark
fengfengzai0101
这个作者很懒,什么都没留下…
展开
-
扩展Spark API
介绍 Apache Spark有许多内建方法进行数据处理,但是在实际应用中,可能需要domain specific operators来解决实际问题,我们需要扩展Spark API来添加自定义方法。 扩展Spark API有两种方法: 在存在的RDD上添加自定义方法 创建新的RDD 动力 我们有一份销售数据,以CSV格式进行存储,包含transactionid, customerid, itemid, itemvalue列。 class SalesRecord(val transactionId: St原创 2020-07-28 17:59:29 · 163 阅读 · 0 评论 -
Spark中的三种Join策略
介绍 Spark通常使用三种Join策略方式 Broadcast Hash Join(BHJ) Shuffle Hash Join(SHJ) Sort Merge Join(SMJ) Broadcast Hash Join 当小表与大表进行Join操作时,为了避免shuffle操作,将小表的所有数据分发到每个节点与大表进行Join操作,尽管牺牲了空间,但是避免了耗时的Shuffle操作。 ...原创 2019-12-25 17:17:44 · 1510 阅读 · 1 评论 -
优化Spark中的数据倾斜
介绍 数据倾斜是统计术语,反应在数据集中的值分布情况。当数据是高度倾斜时,表示一些列值拥有更多的行,而一些拥有更少的行。值没有平均分配,这样在分布式系统中会造成性能问题。 join多张拥有数据倾斜问题的表 在Spark中join多张拥有数据倾斜问题的表,可能会出现卡在最后的stage(399/400),当超过一定时间后,会报Caused by: org.apache.spark.shuffle....原创 2019-12-24 10:41:47 · 223 阅读 · 0 评论