程序员2016年2月:技术解析开源大数据构造

程序员2016年2月:技术解析开源大数据构造
2015,开源大数据领域热闹非凡,在各大王牌开源框架不遗余力丰富各种特性和提高稳定性与性能的同时,不少后起之秀更是绞尽脑汁,奋起直追。

HDFS & YARN,Hadoop老当益壮:谈到开源大数据,Hadoop不得不提,当然时下大家可能更关注HDFS和YARN。而就在过去这一年,HDFS和YARN也是不负众望发表了多个备受期待的特性。

步步紧逼,新贵Spark的席卷之势:Spark以吹枯拉朽之势席卷整个大数据圈,2015年Spark最重要的决定就是引入DataFrame API,DataFrame以更少的代码、更快的速度,迅速赢得工程师的青睐。不得不说,2015年的开源大数据界属于Spark。

Docker & Kubernetes,大数据生态中的一阵新风:2015年,伴随大数据一起发展的是容器生态, Docker及Kubernetes等的迅猛发展也给大数据领域带来了新一阵新风,大大促进了SDN及调度等技术的发展。

我们有足够的理由与信心相信,2016年的大数据一定会迸发出更大的价值,同样也期待国内工程师能参与到大数据生态的建设之中。

本期程序员封面报道,带来了以下实践分享:


资讯

  • ****十大资讯
  • 外刊速递:CACM 更好的存储器
  • 外刊速递:IEEE Spectrum 如何利用指尖动作为虚拟现实手套供电
  • 未来就在眼前——CES 2016亮点解读(卫荣杰,湛嵘,启文)

技术

Apache Flink(下简称Flink)项目是大数据处理领域最近冉冉升起的一颗新星,其不同于其他大数据项目的诸多特性吸引了越来越多人的关注。本文将深入分析Flink的一些关键技术与特性,希望能够帮助读者对Flink有更加深入的了解,对其他大数据系统开发者也能有所裨益。本文假设读者已对MapReduce、Spark 及Storm等大数据处理框架有所了解,同时熟悉流处理与批处理的基本概念。

  • 运用增强学习算法提升推荐效果(单艺,猎聘网首席数据官)

关于推荐系统,业界关注较多的是经典的推荐算法(如协同推荐、矩阵分解、排序学习等)和架构。在实际应用中,用户、事物和环境时刻变化,会使得原有模型失效。而增强学习(Reinforcement Learning),作为机器学习中的一个分支,强调如何基于环境而行动,进而取得最大化的预期利益。它长于在线规划,在探索(在未知的领域)和利用(现有知识)之间找到平衡。对于上述挑战,它能够提供切实有效的方法。本文结合猎聘网的需求与实践,介绍运用Multi-Armed Bandits帮助解决推荐系统的冷启动、在线策略实验和调优等重要问题,并展望增强学习的更多运用及未来发展。

  • OpenStack数据库服务Trove 解析与实践(黄明生,绿星云科技CTO及联合创始人)

在大数据分析越来越盛行的背景下,对数据库的可靠便捷管理也变得愈为重要。本文作者对OpenStack Trove的原理、架构与功能进行了深入介绍,并通过实践来展示Trove的应用。

  • 展望Docker 1.10镜像新面貌(孙宏亮,DaoCloud技术合伙人)

即将发布的Docker 1.10版本中,Docker镜像是最大的看点之一——通过特殊的组织方式,无论是存储效率还是镜像安全,都将达到一个新的高度。

互联网的迅猛发展,催生了数据的爆炸式增长。面对海量的数据,如何挖掘数据的价值,成为一个越来越重要的问题。本文首先介绍数据挖掘的基本内容,然后按照数据挖掘基本的处理流程,以性别预测实例来讲解一个具体的数据挖掘任务是如何实现的。

本文将分析一些使用Swift进行iOS/OS X开发时性能上的考量和做法,同时,笔者结合自己这一年多来使用Swift开发的经验,也给出了一些对应办法。

  • LBS应用的显示技术(贾双成,阿里巴巴资深工程师)

几乎每台智能手机都安装有LBS应用,但其技术覆盖范围广,很少有能深入描述LBS技术的资料。本文将介绍LBS应用中的显示技术。

本文主要介绍Booking网站在业务发展过程中碰到MySQL主库挂载几十甚至上百个从库时探索的解决方案:使用Binlog Server。Binlog Server可以解决五十个以上从库时主库网络带宽限制问题,并规避传统的级联复制方案的缺点;同时介绍了使用Binlog Server还可以用于优化异地机房复制和拓扑重组后的主库故障重组。作者探索问题循序渐进的方式以及处理思路值得我们学习。

数据库分库分表从互联网时代开启至今,一直是热门话题。在NoSQL横行的今天,关系型数据库凭借其稳定、查询灵活、兼容等特性,仍被大多数公司作为首选数据库。因此,合理采用分库分表技术应对海量数据和高并发对数据库的冲击,是各大互联网公司不可避免的问题。

本文主要以点评的交易系统的演进为主来描述如何做到高可用,并结合自己的经验做些分享。高可用性只是一个结果,要更多地关注迭代过程,关注业务发展。


订阅2016年程序员(含iPad、Android及印刷版)请访问 http://dingyue.programmer.com.cn

订阅咨询:

• 在线咨询(QQ):2251809102
• 电话咨询:010-64351436
• 邮箱咨询:[email protected]
• 更多消息,欢迎关注“程序员编辑部