我在大数据工作中的挑战(1)-选择,统一

在大数据的背后,我们无法直接目击的是超乎想象的大量数据,它们来自你无法预料的不同地方,不同的时刻,来自与人或者机器,它们的行为会混杂在一起,但有时又会出现“分歧”。大数据的种种挑战,大家可能已经耳熟能详。但请牢记,解决这些突破传统的问题就是我们的工作职责。

如何选择,如何统一

在语言和架构上,大数据和以往的网站开发,移动开发不一样,不是指具体的工具,而是大数据需要选择的太多。
首先是确定语言,网站开发无外乎JS,PHP或后端JAVA,移动开发更是大统的两种语言。而大数据?我是JAVA程序员起码,进入大数据后还掌握了SCALA和PYTHON,变得博而不精,因为哪怕只有一种语言都可以承担起大数据,但承担不好整个大数据。各行各业的公司都想轻松利用大数据,不需要太多的成本。如果你是负责人,就不得不考虑这个问题。要考虑公司已有的语言和第三方的语言,JAVA是个轻松的选择,应该它各方面都比较成熟,而且也适合团队协助。但它也未必一劳永逸,最主要的,它的人力成本不低,你需要供养一个大团队。而且如何与使用其它语言的合作方对接是同样要处理的问题。像SCALA和GO有明显的优势,但招聘和培训是个全球问题。
从我们自身出发,我们应该如何应对呢?其实大数据工程师是没有什么选择权的,这是个百家争鸣的大时代,由出生决定选择和路线。国内大公司多数是JAVA的大团队,万能且可靠可控,自己可以再捣鼓下SCALA。周边团队也职责清晰,跨语言的需求也不大或者稳定。而其它公司需要的是一条龙服务,这时就需要灵活了。多语言跨语言是必须的,Python一般是必需品,上手快开发快应对场景也广,和科学家合作或兼职科学家也直接方便。和其它语言更密切相关的是SDK,这个无法强求,什么时候来,来不来多留就好。还需要多扩展,看公司的主要领域,哪种语言更好,得保持互相学习和培训。总结来说,多语言是王道。
其次是架构和挑选“工具”。其它工程师对大数据的第一印象就是工具,这是无可厚非的。大数据的landscape里的图标就和你现在看到的字体一样大,每年还在缩小一个px。商用的开源的孵化的一大批,学全是不可能的,这辈子都不可能涉及完这个landscape的,哪怕最大的几个图标的掌握也不可能一年两年实现。公司需求变化快,调研和落地同一个deadline,想想就头痛。架构也是,一代接一代,是否追逐最新的架构,Kappa如何?一步到位,根治问题。
具体的工具和选择我无法细说。一个建议,先划分清楚自己和公司的领域,需求硬不硬,公司需求的收益和成本能不能平衡。百花齐放的landscape,要不想乱花迷眼,自然是想清楚自己是要采药,别想采花。要明白大数据不是单个领域,可以按照landscape的划分来采购,不是最紧急最基础的领域千万别留步。最核心的组件都要熟悉,毕竟原理和理念都是最经典的,对新组件的入手会很有帮助。架构也是,合适最重要,如果没有一个不求汇报的金大腿,简洁些比求新求全好,历史债务是不可避免的,首先实现最小的需求,启动组件最小的功能。最后要做好心理准备,“不计较全面不计较白费功夫”,走上架构师的同行共勉。
欢迎大家留言,也希望您能点个赞。

你可能感兴趣的:(我在大数据工作中的挑战(1)-选择,统一)