腾讯云【专访】数美CTO梁堃:从北大学霸到技术大神
来源:华强电子网 作者: 时间:2017-02-10 14:06
本期腾讯云要访谈的嘉宾是数美的一员虎将,他是数美联合创始人&CTO粱堃。
从震惊全球的Alphago、到能识别出你图片中的面孔和地点;从上路奔跑的无人驾驶、从千人千面的营销推荐,再到大数据帮你分析做好理财。脑洞大开的“黑科技”,大数据、人工智能,正在改变着我们的生活的方方面面。
现在就让我们一起了解一下梁堃眼里的大数据以及数美公司:
数美的大数据能力优势是什么?具体做了哪些算法层面的优化呢?
先做下自我介绍,我是梁堃,数美的联合创始人兼CTO,很荣幸参加此次的采访。
首先我先说一下数美大数据方面的优势。主要来自三个方面:
1)数据量要够大,维度要够多,数据更新要及时。
2)架构方面:创始团队来自百度等一线互联网企业,经历过数万台设备级别的大数据架构和算法开发,因此数美的在线技术架构实现了微服务化,目前我们所有的客户请求可以在10ms之内完成风险识别 ,文本过滤准确率可以达到99.8%以上,误杀率低于1/1000。
离线架构:基于Hadoop生态的比较标准离线数据仓库,基于Scracpy去获取数据。
数据架构:对什么人在什么时间做了什么事情有一个基础层,再上一层是数据主题层,还有实现在内存缓存层的应用层,使得线上应用可以基本不做二次处理,通过查询的方式获得所需要的数据。
3)策略方面的优势:在于理解数据和常见的算法,把数据在某个领域真正的用起来,比如数美的客户就有不少像金融类的,比如中信银行等。
举个例子,比如大数据用于互联网金融领域的信贷风险管理,两个人年度收入都是X,但是A是每月收入X/12,B的前6个月收入为0,第7个月收入是X/2,后5个月收入又是0,第12个月又是X/2,前者A的收入稳定性明显好过B,我们需要参考不少类似收入稳定性这样的指标,来综合计算。
2.数美的大数据能力应用集中在哪几个行业,和腾讯云的哪些产品有结合?
我先说一下数美产品集中应用的领域,数美现在集中的领域为:
金融领域,可以帮助减少违约和逾期,最大限度消灭欺诈类用户,对于金融行业风控是核心能力。
社交领域 ,在社交类应用里面有不少恶意用户会到里面去刷小广告,色情类文字,会对于企业带来运营压力和政策风险,我们可以提供文本过滤的功能。
直播领域 ,直播类经常会有充值送的活动,但是有些主播和黄牛党会作弊,可以通过大数据的能力来避免被少数恶意用户给刷走,同时也可以帮助平台识别注册的新用户是不是机器人用户。
我们现在与腾讯云产品的结合,主要用到的是腾讯云CVM、云数据库Mysql和Redis等,腾讯云对于云数据库Mysql进行了不少定制优化,而且云服务这种方式也大大地减少了我们数美的IT运维成本。
3.您在BAT担任数据架构师多年,也经历过大数据计算框架流行趋势从Hadoop到Spark的迁移,能见下两种计算框架的差异和适用范围么?Spark在哪些具体领域表现要好过Hadoop?
是这样的,Hadoop本身已经是一个大数据的生态了,在Hadoop生态中Mapreduce计算框架和 Spark计算框架是基本对等的。都属于大数据集的并行计算,都有一个shuffle,对数据进行分组,然后分别计算,碰到一定的逻辑的时候,再次进行分组,两个计算框架的计算泛型都是一样的。
1)Spark对Mapreduce的重要改进是可以把分组数据存在内存中,反复进行计算。
2)Mapreduce->Spark 基于问题的改进,最早用于统计分析,只用Mapreduce就够了,现在数据的使用到了下一个阶段,引入更多的维度进行数据挖掘,K-Means等算法需要基于一份数据进行反复的迭代计算。
Mapreduce上进行迭代,每一次迭代都要写入磁盘,还要在I\O队列中排队,在Spark计算框架中减少了这两部分的消耗,效率更高。
3)Mapreduce对于离线数据处理适用性比Spark更高,在这种场景下使用Mapreduce有助于提升集群整体的使用率。
Mapreduce中50个Map、50个Reduce任务中跑完了 10个MAP任务就可以释放这部分计算资源,而对于50个Spark任务而言,只跑完了10个任务是不能够释放10个已完成任务的资源的。
4.您见过的数据架构师犯过的最大的错误是什么?导致了什么后果?
我可以举例讲解一下:
1)组成一个数据架构师团队,来避免数据问题的出现,在数据设计上有一些成熟的方案,比如说数据仓库这方面就有很多方案,可以多思考其他人。
2)09年做过一个数据项目,对于元数据的重视度不够,同一份数据存在两个位置,会引发一定的数据不一致和存储资源浪费,现在的数据架构师在数据仓库设计的初始阶段,会开始更重视元数据的规划。
3)数据表设计信息缺乏团队内共享导致计算资源的浪费,在基础数据表上建了中间数据表,但是其他业务不知道有中间数据表,也是再从基础数据表开始重新计算,对于整体的计算资源存在一定浪费。
5.对于希望实施大数据的CTO们,有怎样的实施顺序建议?
我这边总结过三个阶段:怎样从前端服务器收集数据,如何可靠的传输数据,如何对数据进行分布式的计算。
1)搭建大数据基础设施,开始收集来自业务系统的数据,需要重点做好元数据的规划,同时对于历史日志数据、非结构化数据需要进行批量的结构化。
2)从统计分析阶段入手,一方面可以通过统计直接支持业务决策,比如新产品上线进行A/B对比,来判断新特性是否会提升用户体验和活跃度,实现用数据来指导产品。
3)更深刻的理解数据,并且将数据和业务结合起来,2.0阶段需要考虑把业务系统和数据系统对接起来,让大数据系统智能地发现业务的机会,控制风险,比如说广告投放领域的CTR预估(点击率)就是大数据实施2.0阶段的典型场景。
6.目前发现企业实施大数据项目最主要的三个问题是?
其实,你希望实施大数据的项目的时候,常见的问题包括如何获取高质量的数据,高质量的数据是指数据的维度要够多。很多从Mysql数据库中迁移来的数据就缺少很多和用户使用场景相关的数据,可以考虑通过日志等方式补齐维度。
另一个问题就是企业有大量的非结构化数据,需要批量转化成结构化数据,有不少企业甚至于会在IT系统设计中强制要求,全部使用结构化数据。大数据系统的建设更多是个周期较长的过程,和一般的产品功能不太一样,不容易立杆见影,所以建议参考前面的三步走逐步实施,需要有管理层的强力支持。
让数据和业务结合起来,让系统自动的完成一些传统需要人力完成的工作,当前的电商网站的推荐算法,在没有大数据能力之前基本上是难以想象的一件工程。从企业当前的问题挑出一些无法用简单分析完成的工作,尝试用大数据的方式来分析和解决。
7.对于希望成长为大数据工程师的大学生,您建议的技术学习路径是?
我个人的建议是这样的:
基础知识:计算机体系结构和统计学知识
分布式架构:HDFS+Mapreduce开始学习分布式计算的核心思想
数据架构:学习一些经典数据仓库的理念,维表、星形模型,当然现在的技术进步了,传统的技术不一定适用
策略相关:数据挖掘和统计学习相关的知识
8.推荐三位您觉得有意思的程序员,简述理由?
我要说的这位是我百度的同事陈建,数美的首席架构师,比我早半年到百度,他对在线的高实时性架构特别熟悉,当出现了一些技术问题的时候,可以从上层表现一直追到TCP协议栈的层面。在别人那边很难解决的问题,在他那边很容易解决。
下一篇:我国污水处理行业设施建设机遇分析
相关文章
腾讯云
- •佳普乐CANPRO鸿蒙智联智能卫浴:鸿蒙智联,加持智能卫浴生活2025-01-06
- •富信集团FOSAN 2025 年战略规划暨经营目标发布会在马鞍山圆满召开2025-01-06
- •IOTE物联网展,2025年度主题: 生态智能,物联全球!2025-01-06
- •电装与富士电机联手强化半导体供应链 助推碳化硅技术发展2025-01-06
- •国科微的2024丨步履不停,生生不息2025-01-02
- •行业Top级厂商齐聚功率器件展区!CSE 2025等您来探!2024-12-31
- •OFweek2024 第九届物联网产业大会圆满收官!2024-12-30
- •中国算力百人会走进新疆活动顺利结束2024-12-30
- •专家谈 | 攻防常态化,企业如何提高自身实战能力?2024-12-30
- •NeuroBlade在亚马逊(Amazon) EC2 F2 实例上加速下一代数据分析2024-12-27