从spark的map到线程安全

[TOC]

问题背景

周四的时候突然写了点bug,就那么几行代码,怎么都看不出来问题。周六尝试做了几次实验,大概定位了问题,然后在stackoverflow上问了一下。一位热心的伙伴给回答了,然后再验证了一遍。stackoverflow的地址在:Spark rdd handle java date bug

问题简单的说,就是:我在spark的map里面通过simpleDateFormat将un......

继续阅读

spark读partitioned hive表

本来想写个读分区表的原理分析的,现在突然意识到是逻辑写得有问题,这里就简单记录一下吧。

事情是这样子的:

我有一个spark读hive表,理论上根据dt分区,我只要其中一两个分区,应该很快才对,但貌似无论是spark还是hive都会扫描整个表文件,所以感觉有哪里不对劲。hive sql大概如下:

select f1, f2

from some_table

where dt between a a......

继续阅读

踩坑SPARK之容错机制

[TOC]

SPARK的容错

这块机制其实还不是太明白,很多都是看的这位兄弟的博客,这里说说今天遇到的问题以及踩到的坑。

问题

最近在调一个spark程序,因为数据量太大,存在一些性能障碍。之前join的问题已经解决(过两天把这个方案补上)。一直以为这样就解决问题了,但通过新数据的测试,发现耗时仍然可能特别严重。一个问题是几个任务的GC时间过长,导致整体运行时间特别长(这个问题没有得到复现......

继续阅读