<bdo id="eggcb"><sup id="eggcb"><div id="eggcb"><bdo id="eggcb"></bdo></div></sup></bdo>
  1. <source id="eggcb"></source><address id="eggcb"><p id="eggcb"><canvas id="eggcb"><sup id="eggcb"><keygen id="eggcb"></keygen></sup></canvas><map id="eggcb"></map></p></address>

    <div id="eggcb"><dfn id="eggcb"><blockquote id="eggcb"><dt id="eggcb"><b id="eggcb"><figcaption id="eggcb"><th id="eggcb"><optgroup id="eggcb"></optgroup><del id="eggcb"></del><dl id="eggcb"></dl></th><tbody id="eggcb"></tbody><form id="eggcb"><code id="eggcb"><section id="eggcb"></section></code></form></figcaption><hgroup id="eggcb"></hgroup></b></dt></blockquote></dfn></div>
    <figure id="eggcb"><section id="eggcb"><dd id="eggcb"><figure id="eggcb"></figure><strong id="eggcb"><em id="eggcb"></em></strong></dd></section></figure>

  2. 申请专栏作者
    您的当前位置:主页 > 大数据 > 正文

    大规模数据处理初体验:怎样实现大型电商热销

    来源: 时间:2019-05-02
    请点击下面的广告后浏览!

      可思数据-www.sykv.cn,zouir.com

    我在 Google 面试过很多优秀的候选人,应对普通的编程问题 coding 能力很强,算法数据结构也应用得不错。

    本文来自可思数据,转载请联系本站及注明出处

    可是当我追问数据规模变大时该怎么设计系统,他们却并不能给出很好的答案,这说明他们缺乏必备的规模增长的技术思维(mindset of scaling)。这会限制这些候选人的职业成长。因为产品从 1 万用户到 1 亿用户,技术团队从 10 个人到 1000 个人,你的技术规模和数据规模都会完全不一样。

    内容来自可思数据

    今天我们就以大型电商热销榜为例,来谈一谈从 1 万用户到 1 亿用户,从 GB 数据到 PB 数据系统,技术思维需要怎样的转型升级?

    可思数据-巨龙彩票资讯平台

    同样的问题举一反三,可以应用在淘宝热卖,App 排行榜,抖音热门,甚至是胡润百富榜,因为实际上他们背后都应用了相似的大规模数据处理技术。

    可思数据-www.sykv.cn,zouir.com

      可思数据

     

    可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    真正的排序系统非常复杂,仅仅是用来排序的特征(features)就需要多年的迭代设计。

    可思数据-www.sykv.cn,zouir.com

    为了便于这一讲的讨论,我们来构想一个简化的玩具问题来帮助你理解。

    可思数据-www.sykv.cn,zouir.com

    假设你的电商网站销售 10 亿件商品,已经跟踪了网站的销售记录:商品 id 和购买时间 {product_id, timestamp},整个交易记录是 1000 亿行数据,TB 级。作为技术负责人,你会怎样设计一个系统,根据销售记录统计去年销量前 10 的商品呢?

    可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    举个例子,假设我们的数据是:

    可思数据-巨龙彩票资讯平台

     

    可思数据

      本文来自可思数据,转载请联系本站及注明出处

    我们热销榜可以按 product_id 排名,顺序为:1, 2, 3。

    本文来自可思数据,转载请联系本站及注明出处

    小规模的经典算法

    可思数据-数据挖掘,巨龙国际彩票网,机器视觉,机器人

    如果上过极客时间的《数据结构与算法之美》,你可能一眼就看出来,这个问题的解法分为两步: 可思数据-巨龙彩票资讯平台

      可思数据-www.sykv.cn,zouir.com

      可思数据-巨龙彩票资讯平台

    第一步,统计每个商品的销量。你可以用哈希表(hashtable)数据结构来解决,这是一个 O(n) 的算法,这里的 n 是 1000 亿。 内容来自可思数据

    第二步,找出销量前十,这里可以用经典的 Top K 算法,也是 O(n) 的算法。如果你考虑到了这些,先恭喜你答对了。在小规模系统中,我们确实完全可以用经典的算法简洁漂亮地解决。以 Python 编程的话可能是类似这样的: 可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

      内容来自可思数据

    但在任何系统中,随着尺度的变大,很多方法就不再适用。 可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    比如,在小尺度经典物理学中适用的牛顿力学:

    内容来自可思数据

      本文来自可思数据,转载请联系本站及注明出处

     

    可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    在高速强力的物理系统中就不再适用,在狭义相对论中有另外的表达: 可思数据-www.sykv.cn,zouir.com

      可思数据-数据挖掘,巨龙国际彩票网,机器视觉,机器人

      可思数据-www.sykv.cn,zouir.com

    在社会系统中也是一样,管理 10 个人的团队,和治理 14 亿人口的国家,复杂度也不可同日而语。 本文来自可思数据,转载请联系本站及注明出处

    具体在我们这个问题中,同样是 Top K 算法,当数据规模变大时,会遇到哪些问题呢?

    可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    第一,内存占用。 可思数据-巨龙彩票资讯平台

    对于 TB 级的交易记录数据,很难找到单台计算机能够容纳那么大的哈希表了。

    内容来自可思数据

    你可能想到,那我不要用哈希表去统计商品销售量了,我把销量计数放在磁盘里完成好了。比如,就用一个 1000 亿行的文件或者表,然后再把销量统计结果一行一行读进后面的堆树 / 优先级队列。 可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    理论上听起来不错,实际上是否真的可行呢?那我们看下一点。

    可思数据-巨龙彩票资讯平台

    第二,磁盘 I/O 等延时问题。

    可思数据

    当数据规模变大,我们难以避免地需要把一些中间结果存进磁盘,以应对单步任务出错等问题。 可思数据-巨龙彩票资讯平台

    一次磁盘读取大概需要 10ms 的时间。如果按照上一点提到的文件替代方法,时间会很长。因为我们是一个 O(n * log k) 的算法,这就需要 10ms * 10^9 = 10 ^ 7 s = 115 天的时间。你可能需要贾跃亭附体,才能忽悠老板接受这样的设计方案了。

    可思数据-数据挖掘,巨龙国际彩票网,机器视觉,机器人

    这些问题怎么解决呢?你可能已经想到,当单台机器已经无法适应我们数据或者问题的规模,我们需要横向扩展。 可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    大规模分布式解决方案 可思数据

    之前的思路依然没错。但是我们需要把每一步从简单的函数算法,升级为计算集群的分布式算法。

    可思数据

      可思数据

     

    可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    统计每个商品的销量 可思数据-数据挖掘,巨龙国际彩票网,机器视觉,机器人

    我们需要的第一个计算集群,就是统计商品销量的集群。

    可思数据-数据挖掘,巨龙国际彩票网,机器视觉,机器人

    例如,1000 台机器,每台机器一次可以处理 1 万条销售记录。对于每台机器而言,它的单次处理又回归到了我们熟悉的传统算法,数据规模大大缩小。 本文来自可思数据,转载请联系本站及注明出处

    下图就是一个例子,图中每台机器输入的是 2 条销售记录,输出的是对于他们的本地输入而言的产品销量计数。

    可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

      可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

      本文来自可思数据,转载请联系本站及注明出处

    找出销量前 K 可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    我们需要的第二个计算集群,则是找出销量前十的集群。 内容来自可思数据

    这里我们不妨把问题抽象一下,抽象出的是销量前 K 的产品。因为你的老板随时可能把产品需求改成前 20 销量,而不是前 10 了。 可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    在上一个统计销量集群得到的数据输出,将会是我们这个处理流程的输入。所以这里需要把分布在各个机器上分散的产品销量汇总出来。例如,把所有 product_id = 1 的销量全部叠加。

    可思数据-巨龙彩票资讯平台

    下图示例是 K = 1 的情况,每台机器先把所有 product_id = 1 的销量叠加在了一起,再找出自己机器上销量前 K = 1 的商品。你可以看到,对于每台机器而言,他们的输出就是最终排名前 K = 1 的商品候选者。

    可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

      可思数据-www.sykv.cn,zouir.com

     

    可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    汇总最终结果

    可思数据

    到了最后一步,你需要把在“销量前 K 集群”中的结果汇总出来。也就是说,从所有排名前 K=1 的商品候选人中找出真正的销量前 K=1 的商品。

    可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    这时候完全可以用单一机器解决了。因为实际上你汇总的就是这 1000 台机器的结果,规模足够小。 可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

      可思数据

     

    内容来自可思数据

    看到这里,你已经体会到处理超大规模数据的系统是很复杂的。

    可思数据-巨龙彩票资讯平台

    当你辛辛苦苦设计了应对 1 亿用户的数据处理系统时,可能你就要面临另一个维度的规模化(scaling)。那就是应用场景数量从 1 个变成 1000 个。每一次都为不同的应用场景单独设计分布式集群,招募新的工程师维护变得不再“可持续发展”。 可思数据

    这时,你需要一个数据处理的框架。 可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    大规模数据处理框架的功能要求

    可思数据-巨龙彩票资讯平台

    这个实际的例子其实为我们的设计增加了新的挑战。 可思数据

    很多人面对问题,第一个想法是找有没有开源技术可以用一下。

    本文来自可思数据,转载请联系本站及注明出处

    但我经常说服别人不要先去看什么开源技术可以用,而是从自己面对的问题出发独立思考,忘掉 MapReduce,忘掉 Apache Spark,忘掉 Apache Beam。

    本文来自可思数据,转载请联系本站及注明出处

    如果这个世界一无所有,你会设计怎样的大规模数据处理框架?你要经常做一些思维实验,试试带领一下技术的发展,而不是永远跟随别人的技术方向。 可思数据

    在我看来,两个最基本的需求是: 可思数据-www.sykv.cn,zouir.com

    高度抽象的数据处理流程描述语言。作为小白用户,我肯定再也不想一一配置分布式系统的每台机器了。作为框架使用者,我希望框架是非常简单的,能够用几行代码把业务逻辑描述清楚。 可思数据-www.sykv.cn,zouir.com

    根据描述的数据处理流程,自动化的任务分配优化。这个框架背后的引擎需要足够智能,简单地说,要把那些本来手动配置的系统,进行自动任务分配。 本文来自可思数据,转载请联系本站及注明出处

    那么理想状况是什么?对于上面的应用场景,我作为用户只想写两行代码。 可思数据-巨龙彩票资讯平台

    第一行代码: 内容来自可思数据

    sales_count = sale_records.Count()

    可思数据-数据挖掘,巨龙国际彩票网,机器视觉,机器人

    这样简单的描述,在我们框架设计层面,就要能自动构建成上文描述的“销量统计计算集群”。

    可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    第二行代码

    本文来自可思数据,转载请联系本站及注明出处

    top_k_sales = sales_count.TopK(k)

    可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    这行代码需要自动构建成上文描述的“找出销量前 K 集群”。

    可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    看到这里,你能发现这并不复杂。我们到这里就已经基本上把现代大规模数据处理架构的顶层构造掌握了。而背后的具体实现,我会在后面的专栏章节中为你一一揭晓。

    可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    小结 可思数据-数据挖掘,巨龙国际彩票网,机器视觉,机器人

    接下来我为这一讲做个小结。这一讲中,我们粗浅地分析了一个电商排行榜的数据处理例子。 本文来自可思数据,转载请联系本站及注明出处

    从 GB 数据到 TB 数据,我们从小规模算法升级到了分布式处理的设计方案;从单一 TB 数据场景到 1000 个应用场景,我们探索了大规模数据处理框架的设计。 可思数据-www.sykv.cn,zouir.com

    这些都是为了帮助你更好地理解后面所要讲的所有知识。比如,为什么传统算法不再奏效?为什么要去借助抽象的数据处理描述语言?希望在后面的学习过程中,你能一直带着这些问题出发。

    可思数据-www.sykv.cn,zouir.com

    你好,我是蔡元楠, 目前在 Google Brain 担任 AI Healthcare (巨龙彩票的健康医疗应用) 领域资深工程师,也是极客时间《大规模数据处理实战》的专栏作者,这篇文章便出自这个专栏的第三篇文章。 本文来自可思数据,转载请联系本站及注明出处

    我在 Google 面试过很多优秀的候选人,应对普通的编程问题 coding 能力很强,算法数据结构也应用得不错。 本文来自可思数据,转载请联系本站及注明出处

    可是当我追问数据规模变大时该怎么设计系统,他们却并不能给出很好的答案,这说明他们缺乏必备的规模增长的技术思维(mindset of scaling)。这会限制这些候选人的职业成长。因为产品从 1 万用户到 1 亿用户,技术团队从 10 个人到 1000 个人,你的技术规模和数据规模都会完全不一样。

    可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    今天我们就以大型电商热销榜为例,来谈一谈从 1 万用户到 1 亿用户,从 GB 数据到 PB 数据系统,技术思维需要怎样的转型升级? 本文来自可思数据,转载请联系本站及注明出处

    同样的问题举一反三,可以应用在淘宝热卖,App 排行榜,抖音热门,甚至是胡润百富榜,因为实际上他们背后都应用了相似的大规模数据处理技术。

    可思数据-巨龙彩票资讯平台

     

    可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

     

    可思数据-www.sykv.cn,zouir.com

    真正的排序系统非常复杂,仅仅是用来排序的特征(features)就需要多年的迭代设计。 内容来自可思数据

    为了便于这一讲的讨论,我们来构想一个简化的玩具问题来帮助你理解。 可思数据-巨龙彩票资讯平台

    假设你的电商网站销售 10 亿件商品,已经跟踪了网站的销售记录:商品 id 和购买时间 {product_id, timestamp},整个交易记录是 1000 亿行数据,TB 级。作为技术负责人,你会怎样设计一个系统,根据销售记录统计去年销量前 10 的商品呢?

    可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    举个例子,假设我们的数据是:

    可思数据-数据挖掘,巨龙国际彩票网,机器视觉,机器人

    product_idtimestamp 可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    11553721167 可思数据-www.sykv.cn,zouir.com

    21553721199

    内容来自可思数据

    31553721220 可思数据-数据挖掘,巨龙国际彩票网,机器视觉,机器人

    11553721241

    可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    我们热销榜可以按 product_id 排名,顺序为:1, 2, 3。 可思数据

    小规模的经典算法

    可思数据-巨龙彩票资讯平台

    如果上过极客时间的《数据结构与算法之美》,你可能一眼就看出来,这个问题的解法分为两步:

    可思数据-www.sykv.cn,zouir.com

      内容来自可思数据

     

    可思数据-数据挖掘,巨龙国际彩票网,机器视觉,机器人

    第一步,统计每个商品的销量。你可以用哈希表(hashtable)数据结构来解决,这是一个 O(n) 的算法,这里的 n 是 1000 亿。 内容来自可思数据

    第二步,找出销量前十,这里可以用经典的 Top K 算法,也是 O(n) 的算法。如果你考虑到了这些,先恭喜你答对了。在小规模系统中,我们确实完全可以用经典的算法简洁漂亮地解决。以 Python 编程的话可能是类似这样的:

    本文来自可思数据,转载请联系本站及注明出处

    复制代码def CountSales(sale_records): """Calculate number of sales for each product id. Args: sales_records: list of SaleRecord, SaleRecord is a named tuple, e.g. {product_id: “1”, timestamp: 1553721167}. Returns: dict of {product_id: num_of_sales}. E.g. {“1”: 1, “2”: 1} """ sales_count = {} for record in sale_records: sales_count[record[product_id]] += 1 return sales_countdef TopSellingItems(sale_records, k=10): """Calculate the best selling k products. Args: sales_records: list of SaleRecord, SaleRecord is a named tuple, e.g. {product_id: “1”, timestamp: 1553721167}. K: num of top products you want to output. Returns: List of k product_id, sorted by num of sales. """ sales_count = CountSales(sale_records) return heapq.nlargest(k, sales_count, key=sales_count.get)

    可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    但在任何系统中,随着尺度的变大,很多方法就不再适用。

    可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    比如,在小尺度经典物理学中适用的牛顿力学:

    可思数据-www.sykv.cn,zouir.com

      可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

      可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    在高速强力的物理系统中就不再适用,在狭义相对论中有另外的表达:

    内容来自可思数据

      可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

     

    可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    在社会系统中也是一样,管理 10 个人的团队,和治理 14 亿人口的国家,复杂度也不可同日而语。

    可思数据-www.sykv.cn,zouir.com

    具体在我们这个问题中,同样是 Top K 算法,当数据规模变大时,会遇到哪些问题呢? 内容来自可思数据

    第一,内存占用。 可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    对于 TB 级的交易记录数据,很难找到单台计算机能够容纳那么大的哈希表了。 内容来自可思数据

    你可能想到,那我不要用哈希表去统计商品销售量了,我把销量计数放在磁盘里完成好了。比如,就用一个 1000 亿行的文件或者表,然后再把销量统计结果一行一行读进后面的堆树 / 优先级队列。

    可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    理论上听起来不错,实际上是否真的可行呢?那我们看下一点。

    可思数据

    第二,磁盘 I/O 等延时问题。 可思数据

    当数据规模变大,我们难以避免地需要把一些中间结果存进磁盘,以应对单步任务出错等问题。 可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    一次磁盘读取大概需要 10ms 的时间。如果按照上一点提到的文件替代方法,时间会很长。因为我们是一个 O(n * log k) 的算法,这就需要 10ms * 10^9 = 10 ^ 7 s = 115 天的时间。你可能需要贾跃亭附体,才能忽悠老板接受这样的设计方案了。

    本文来自可思数据,转载请联系本站及注明出处

    这些问题怎么解决呢?你可能已经想到,当单台机器已经无法适应我们数据或者问题的规模,我们需要横向扩展。

    本文来自可思数据,转载请联系本站及注明出处

    大规模分布式解决方案 本文来自可思数据,转载请联系本站及注明出处

    之前的思路依然没错。但是我们需要把每一步从简单的函数算法,升级为计算集群的分布式算法。

    可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

     

    可思数据

      内容来自可思数据

    统计每个商品的销量

    内容来自可思数据

    我们需要的第一个计算集群,就是统计商品销量的集群。

    可思数据-巨龙彩票资讯平台

    例如,1000 台机器,每台机器一次可以处理 1 万条销售记录。对于每台机器而言,它的单次处理又回归到了我们熟悉的传统算法,数据规模大大缩小。

    可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    下图就是一个例子,图中每台机器输入的是 2 条销售记录,输出的是对于他们的本地输入而言的产品销量计数。 可思数据-www.sykv.cn,zouir.com

      可思数据-数据挖掘,巨龙国际彩票网,机器视觉,机器人

     

    可思数据-数据挖掘,巨龙国际彩票网,机器视觉,机器人

    找出销量前 K

    可思数据

    我们需要的第二个计算集群,则是找出销量前十的集群。

    可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    这里我们不妨把问题抽象一下,抽象出的是销量前 K 的产品。因为你的老板随时可能把产品需求改成前 20 销量,而不是前 10 了。 可思数据

    在上一个统计销量集群得到的数据输出,将会是我们这个处理流程的输入。所以这里需要把分布在各个机器上分散的产品销量汇总出来。例如,把所有 product_id = 1 的销量全部叠加。 内容来自可思数据

    下图示例是 K = 1 的情况,每台机器先把所有 product_id = 1 的销量叠加在了一起,再找出自己机器上销量前 K = 1 的商品。你可以看到,对于每台机器而言,他们的输出就是最终排名前 K = 1 的商品候选者。

    内容来自可思数据

     

    本文来自可思数据,转载请联系本站及注明出处

      可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    汇总最终结果 可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    到了最后一步,你需要把在“销量前 K 集群”中的结果汇总出来。也就是说,从所有排名前 K=1 的商品候选人中找出真正的销量前 K=1 的商品。

    可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    这时候完全可以用单一机器解决了。因为实际上你汇总的就是这 1000 台机器的结果,规模足够小。 可思数据-www.sykv.cn,zouir.com

     

    内容来自可思数据

     

    本文来自可思数据,转载请联系本站及注明出处

    看到这里,你已经体会到处理超大规模数据的系统是很复杂的。

    可思数据-巨龙彩票资讯平台

    当你辛辛苦苦设计了应对 1 亿用户的数据处理系统时,可能你就要面临另一个维度的规模化(scaling)。那就是应用场景数量从 1 个变成 1000 个。每一次都为不同的应用场景单独设计分布式集群,招募新的工程师维护变得不再“可持续发展”。 可思数据-巨龙彩票资讯平台

    这时,你需要一个数据处理的框架。

    可思数据-数据挖掘,巨龙国际彩票网,机器视觉,机器人

    大规模数据处理框架的功能要求

    可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    在「02 篇 怎样设计下一代数据处理技术?」中,我们对于数据处理框架已经有了基本的方案。这里这个实际的例子其实为我们的设计增加了新的挑战。 可思数据-巨龙彩票资讯平台

    很多人面对问题,第一个想法是找有没有开源技术可以用一下。

    内容来自可思数据

    但我经常说服别人不要先去看什么开源技术可以用,而是从自己面对的问题出发独立思考,忘掉 MapReduce,忘掉 Apache Spark,忘掉 Apache Beam。 可思数据-www.sykv.cn,zouir.com

    如果这个世界一无所有,你会设计怎样的大规模数据处理框架?你要经常做一些思维实验,试试带领一下技术的发展,而不是永远跟随别人的技术方向。 可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    在我看来,两个最基本的需求是:

    可思数据-数据挖掘,巨龙国际彩票网,机器视觉,机器人

    高度抽象的数据处理流程描述语言。作为小白用户,我肯定再也不想一一配置分布式系统的每台机器了。作为框架使用者,我希望框架是非常简单的,能够用几行代码把业务逻辑描述清楚。 内容来自可思数据

    根据描述的数据处理流程,自动化的任务分配优化。这个框架背后的引擎需要足够智能,简单地说,要把那些本来手动配置的系统,进行自动任务分配。

    可思数据-巨龙彩票资讯平台

    那么理想状况是什么?对于上面的应用场景,我作为用户只想写两行代码。 内容来自可思数据

    第一行代码: 可思数据-巨龙彩票资讯平台

    复制代码sales_count = sale_records.Count() 本文来自可思数据,转载请联系本站及注明出处

    这样简单的描述,在我们框架设计层面,就要能自动构建成上文描述的“销量统计计算集群”。

    可思数据-数据挖掘,巨龙国际彩票网,机器视觉,机器人

    第二行代码 本文来自可思数据,转载请联系本站及注明出处

    复制代码top_k_sales = sales_count.TopK(k)

    可思数据-巨龙彩票资讯平台

    这行代码需要自动构建成上文描述的“找出销量前 K 集群”。 可思数据-数据挖掘,巨龙国际彩票网,机器视觉,机器人

    看到这里,你能发现这并不复杂。我们到这里就已经基本上把现代大规模数据处理架构的顶层构造掌握了。而背后的具体实现,我会在后面的专栏章节中为你一一揭晓。

    可思数据-www.sykv.cn,zouir.com

    小结

    可思数据-www.sykv.cn,zouir.com

    接下来我为这一讲做个小结。这一讲中,我们粗浅地分析了一个电商排行榜的数据处理例子。

    可思数据-巨龙彩票资讯平台

    从 GB 数据到 TB 数据,我们从小规模算法升级到了分布式处理的设计方案;从单一 TB 数据场景到 1000 个应用场景,我们探索了大规模数据处理框架的设计。 可思数据-AI,巨龙彩票,深度学习,机器学习,神经网络

    这些都是为了帮助你更好地理解后面所要讲的所有知识。比如,为什么传统算法不再奏效?为什么要去借助抽象的数据处理描述语言?希望在后面的学习过程中,你能一直带着这些问题出发。

    可思数据-AI,巨龙彩票,人脸识别,区块链,大数据

    作者:蔡元楠 可思数据-数据挖掘,巨龙国际彩票网,机器视觉,机器人

    网友评论:

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    评价:
    表情:
    用户名: 验证码:点击我更换图片

    Copyright©2005-2019 zouir.com 可思数据 版权所有    网站地图   联系我们  

    巨龙彩票资讯   巨龙彩票资讯   巨龙彩票资讯   巨龙彩票资讯

    扫码入群
    咨询反馈
    扫码关注

    微信公众号

    返回顶部

    巨龙彩票 |巨龙国际彩票网 |巨龙彩票登录 | |手机版 | | 108网投彩票|LG彩票|新世界彩票|春秋彩票官网|亚洲彩票网|皇冠彩票正网|