一直在研究大数据处理方向的各种技术和工具,但没有真正用于实践中,恰好目前风控措施转向,需要实施“在线+离线”的双线防控措施,遂在调研查阅相关文档后,决定从零开始构造(数据挖掘转工程开发,思维转变是关键),这里面涉及的几个阶段慢慢说来:
项目开发环境选择(scala2.10.4 IDE +maven3.3)
最开始的选择是直接在eclipse环境上安装scala的IDE插件,但实践证明此种方式很不稳定,受限于网络的限制基本没能成功,索性直接利用scala提供的IDE开发环境,这视为迈出第一步,虽然IDE提供了构建scala project的模板,但是后期证明没有合适的版本管理工具,很难在包依赖及部署上做到得心应手,虽然网上普遍推荐SBT在该scala项目管理上的作用,但是有过java开发经验的还是首推maven工具,为编译打包提供极大的方便,同时实现在windows环境下编译执行spark代码,不过里面涉及很多坑后面再术。实际计算平台(spark 1.5.2)
网上关于storm与spark ,谁在流式计算方式更具有优势的讨论甚多,这里不做比较,本人结合已有的平台环境加开发工具选择了 spark streaming作为实时计算的计算引擎,另外一个原因在于spark在于机器学习支撑上的强有力地位,方便后日扩展,此外spark streaming也提供了针对各种数据源的高级API,方便从不同数据源中获取DStearm,同时支持写入各种存储介质中。数据源(kafka)
kafka作为一个分布式发布-订阅消息系统