• 2 dashuju


    从我的角度而言,不管是学习某门技术,还是讨论某个事情,最好的方式一定不是一头扎到具体细节里,而是应该从时空的角度先了解它的来龙去脉,以及它为什么会演进成为现在的状态。当你深刻理解了这些前因后果之后,再去看现状,就会明朗很多,也能更直接地看到现状背后的本质。说实话,这对于我们理解技术、学习技术而言,同等重要。

    把现实世界的业务操作搬到计算机上,通过计算机软件和网络进行业务和数据处理

    时至今日,能用计算机软件提高效率的地方,几乎已经被全部发掘过了,计算机软件成为人们日常生活的必备品,人们已经习惯了计算机软件的存在。在这种情况下,如果想让软件再成百上千倍地提高我们的生活和工作效率,使用以前的那套“分析用户需求和业务场景,进行软件设计和开发”的做法显然是不可能的了。

    如果未来是面向 AI 编程的,希望软件工程师不要把 AI 当作什么万能的东西。当机器学习结果出现问题的时候,我们既不要陷入某种不可知的“玄学”之中,也不要无谓地抱怨什么“人工智障”,而是应该积极参与到问题的讨论、分析和解决中去。这也是我的观点,即使自己不做大数据与机器学习相关的开发,每个程序员也应该懂大数据和机器学习。

    如果只懂编程,工程师的生存空间会越来越窄,发展也会处处受限。

    现在你听到分布式、大数据之类的词,肯定一点儿也不陌生。但你要知道,在 2004 年那会儿,整个互联网还处于懵懂时代,Google 发布的论文实在是让业界为之一振,大家恍然大悟,原来还可以这么玩。

    因为那个时间段,大多数公司的关注点其实还是聚焦在单机上,在思考如何提升单机的性能,寻找更贵更好的服务器。而 Google 的思路是部署一个大规模的服务器集群,通过分布式的方式将海量数据存储在这个集群上,然后利用集群上的所有机器进行数据计算。 这样,Google 其实不需要买很多很贵的服务器,它只要把这些普通的机器组织到一起,就非常厉害了。

    Hadoop 发布之后,Yahoo 很快就用了起来。大概又过了一年到了 2007 年,百度和阿里巴巴也开始使用 Hadoop 进行大数据存储与计算。

    Hive 出现后极大程度地降低了 Hadoop 的使用难度,迅速得到开发者和企业的追捧。据说,2011 年的时候,Facebook 大数据平台上运行的作业 90% 都来源于 Hive。熟悉数据库的数据分析师和工程师便可以无门槛地使用大数据进行数据分析和处理了。

    一般说来,像 MapReduce、Spark 这类计算框架处理的业务场景都被称作批处理计算,因为它们通常针对以“天”为单位产生的数据进行一次计算,然后得到需要的结果,这中间计算需要花费的时间大概是几十分钟甚至更长的时间。因为计算的数据是非在线得到的实时数据,而是历史数据,所以这类计算也被称为大数据离线计算。

    而在大数据领域,还有另外一类应用场景,它们需要对实时产生的大量数据进行即时计算,比如对于遍布城市的监控摄像头进行人脸识别和嫌犯追踪。这类计算称为大数据流计算,相应地,有 Storm、Flink、Spark Streaming 等流计算框架来满足此类大数据应用的场景。 流式计算要处理的数据是实时在线产生的数据,所以这类计算也被称为大数据实时计算。

    大数据处理的主要应用场景包括数据分析、数据挖掘与机器学习。数据分析主要使用 Hive、Spark SQL 等 SQL 引擎完成;数据挖掘与机器学习则有专门的机器学习框架 TensorFlow、Mahout 以及 MLlib 等,内置了主要的机器学习和数据挖掘算法。

    image

    作为全球最大的搜索引擎公司,Google 也是我们公认的大数据鼻祖,它存储着全世界几乎所有可访问的网页,数目可能超过万亿规模,全部存储起来大约需要数万块磁盘。为了将这些文件存储起来,Google 开发了 GFS(Google 文件系统),将数千台服务器上的数万块磁盘统一管理起来,然后当作一个文件系统,统一存储所有这些网页文件。

    顶尖的公司和顶尖的高手一样,做事有一种优雅的美感。你可以看 Google 一路走来,从搜索引擎、Gmail、地图、Android、无人驾驶,每一步都将人类的技术边界推向更高的高度。而差一点的公司即使也曾经获得过显赫的地位,但是一旦失去做事的美感和节奏感,在这个快速变革的时代,陨落得比流星还快。

    Hive 可以在 Hadoop 上进行 SQL 操作,实现数据统计与分析。也就是说,我们可以用更低廉的价格获得比以往多得多的数据存储与计算能力。我们可以把运行日志、应用采集数据、数据库数据放到一起进行计算分析,获得以前无法得到的数据结果,企业的数据仓库也随之呈指数级膨胀。

    大数据,可以把全部的历史数据都收集起来,统计其规律,进而预测正在发生的事情。这就是机器学习。把历史上人类围棋对弈的棋谱数据都存储起来,针对每一种盘面记录如何落子可以得到更高的赢面。得到这个统计规律以后,就可以利用这个规律用机器和人下棋,每一步都计算落在何处将得到更大的赢面,于是我们就得到了一个会下棋的机器人,这就是前两年轰动一时的 AlphaGo,以压倒性优势下赢了人类的顶尖棋手。再举个和我们生活更近的例子。把人聊天的对话数据都收集起来,记录每一次对话的上下文,如果上一句是问今天过得怎么样,那么下一句该如何应对,通过机器学习可以统计出来。将来有人再问今天过得怎么样,就可以自动回复下一句话,于是我们就得到一个会聊天的机器人。Siri、天猫精灵、小爱同学,这样的语音聊天机器人在机器学习时代已经满大街都是了。

    大数据从搜索引擎到机器学习,发展思路其实是一脉相承的,就是想发现数据中的规律并为我们所用。所以很多人把数据称作金矿,大数据应用就是从这座蕴含知识宝藏的金矿中发掘有商业价值的真金白银出来。数据中蕴藏着价值已经是众所周知的事情了,那么如何从这些庞大的数据中发掘出我们想要的知识价值,这正是大数据技术目前正在解决的事情,包括大数据存储与计算,也包括大数据分析、挖掘、机器学习等应用。

  • 相关阅读:
    tp5.1批量删除商品
    tp5.1 无限极分类前台展示
    jquery实现商品sku多属性选择(商品详情页)
    简单的权限管理php
    js的常用场景效果
    jquery 常用选择器基础语法学习
    js 注意事项使用误区
    js (单个的)点击式下拉菜单
    React中setState学习总结
    JavaScript面试核心考点(精华)
  • 原文地址:https://www.cnblogs.com/ukzq/p/16467995.html
Copyright © 2020-2023  润新知