随著软体业近年来负载量愈来愈大,对后端处理资料的需求其实也是变得愈来愈高。 无奈资料工程这技能学校不会教,因为没有学术价值。 在业界内除非进入资料团队,不然也不会接触到。 糟的是,各家公司内部的资料团队素质也良莠不齐,要学到好的资料工程技术真的只能靠运气。 以下为小编认定的大数据核心技能
分析及设计高延展性 (highly scalable) 程式
能写出常见的 data operation 如 join, de-duplicate, group-by
能处理 data skew (资料过度集中在少数的 key)的问题
知道如何选择 map output key, 以及 secondary key sort 的排序设计
能验证资料正确性
设计 regression test system. 每次资料系统更新都能检验前后处理的差别
可以撰写工具检验大量的数据正确性
从一开始规划系统就让它具有高度的可验证性,以及严格的验证它
将资料工程自动化的能力
可以处理资料相依性问题
自动处理错误的策略
要能 revert & reprocess
使用 control table 去控制及追踪不同工做的 state
系统维护
透过 log & stacktrace 来 debug
知道基本的系统平台管理。JobTracker, HDFS 等指令要熟悉
了解各种 Map Reduce 参数,可以调校效能参数
实事求是的精神
做资料工程或分析,较忌讳的就是骗自己。永远不要用猜的,要用资料来验证自己的想法是否正确。
各种资料系统设计都有隐藏的代价,不要对这些代价视而不见。
挖掘问题先于寻找解决方案。只有完全了解自己的需求后,才能在多种方案中选择较适合自己的一个。
以上的技能集中在如何成为大数据工程师。资料科学的训练不记入其中,因为光是达到以上的技能就已经很花时间啦。 当这些技能都练得相当不错时,再跨足资料科学,其实也不太难。 不过通常是分工合作更简单一些,因为学资料科学的人远比资料工程多很多。
上一篇:大数据的核心是大计算
下一篇:建筑工程钢筋焊接质量要求