大數據

大數據

带你读《增强型分析:AI驱动的数据分析、 业务决策与案例实践》之三:预测模型的新技术

点击查看第一章点击查看第二章第3章 预测模型的新技术 人们对预测未来总是充满热情,预测技术的发展也使得人们不断看到成功的案例。早期的预测技术侧重于算法的精准,比如逻辑回归、决策树、支持向量机等。笔者在十几年前做研究生论文时发现,支持向量机模型的研究和应用是非常火热的,有点类似于如今的深度学习,若对深度学习不了解,都不好意思说自己是做机器学习的。然而在当下,算法的不断精进也伴随着旨在提高算法应用水平的相关技术的发展。这些技术使得模型的训练变得高效和智能,本章主要介绍当下流行的分类型算法,以及已经发展得比较成熟的模型训练方式的改进。 3.1集成学习 集成学习(Ensemble Learning)技术的出现,旨在将多个预测模型结合起来,达到明显改善相对于单独采用一个模型的而得到预测效果。因为结合的技术不同,Ensemble技术可以分为Averaging和Boosting两种不同的方式。 3.1.1Averaging方法 这个方法是分别独立地训练不同的模型,然后采用平均或投票的方式,生成最终的模型结果。典型的有bagging方法和随机森林等。bagging方法很有意思,就是将训练数据分成不同的子数据集,然后在其之上分别训练模型,最后采用如投票的机制来实现最终模型结果的输出。当训练数据集过小时,可使用自举技术(Bootstrapping),从原样本集有放回地抽取子集,分别训练模型,然后集成。当训练集过大,可以采用bagging的方法,将很大的训练集分成不同的子集,这样得到的结果既提高了精准度,也提高了模型的稳定性。图3-1就是一个简单的bagging过程示例图。 图3-1bagging方法的过程 目前人们总是在谈论采用海量的训练集来训练预测模型的效果一定比抽样效果好。在笔者看来,这只是一厢情愿的看法。“采用全集而不是抽样”的大数据思维在训练预测模型时,未见得一定是正确的。精心构建的抽样数据集,在绝大多数情况下,在抽样数据集上进行模型训练,也往往能得到很好的结果。这样做既保证了效果,也保证了工作效率。在一个几十万的数据集上,单机的情况下很快就能得到训练、验证等一系列工作的结果。当然,采用较大的训练集来训练模型,若在数据准备、环境等因素都具备的情况下,也是一个最佳的选择。在scikit-learn中,已经提供了bagging方法的实现,读者可以轻松调用。特别是在训练集特别大的情况下,读者就可以采用这个方法。在上述代码中,BaggingClassifier其实就是一个分类算法的容器,其实现了bagging的整个流程,可以调用任何一个客户指定的分类进行bagging的过程。随机森林实现方式比较简单,基本上是通过构建一系列的树组成森林,然后通过投票来决定最终结果,图3-2所示就是这个过程。随机森林中每棵树的训练时数据的提供方式可以是bagging或Bootstrapping。随机森林中的每棵树的投票,在计算最终方式时有两种方式,即Majority和平均方法。Majority方法是将预测概率排序,取概率值最高的预测结果为最终结果。而平均方法则是将同一类的预测结果的概率加总求平均值,作为最终的预测结果及概率。在scikit-learn中专门提供了两种投票方式的独立工具,笔者曾经改造过其中一个投票器,在3.5节中将重点介绍投票器的内容。 图3-2随机森林的实现方式 3.1.2Boosting方法 顾名思义,Boosting方法是按照序列的方式来训练模型,序列中的每一个模型都在试图减少前面模型的误判。在模型开始训练时,第一个模型将训练集中的每一个观察量的权重看作是相同的,并尝试构建一个分类;而该分类势必会产生部分观察量的误判。从第二个模型开始在训练时将前面模型的误判的观察量的权重做出一个调整,强迫此次学习时尽量分类正确。按照这个过程不断进行迭代直到满足一定的精准度要求。图3-3展示了Boosting的学习过程。 图3-3Boosting方法的过程 Boosting方法出现得其实已经很早了,在经典的商业分析工具软件如IBM SPSS Modeler中,很早就有Boosting的相关设置。近几年人们基于Boosting的思想开发了如AdaBoosting和Gradient Tree Boosting等性能较好的模型,使得Boosting又变得火热起来。AdaBoosting是Adaptive Boosting的缩写,意指在每一次迭代中对前一个弱分类器的失误判断是敏感的,即通过计算弱分类器的失误判断的误差来计算出最终模型中每个弱分分类器的权重。给定xi∈X,yi∈{-1,1},i∈[1,n],其计算过程如下:1)初始化每一个观察量的权重,Dt(i) […]

大數據

阿里云大数据+AI技术沙龙上海站

阿里云 EMR 团队,致力于为客户提供开源大数据 Hadoop/Spark 生态基于云端的一站式,高可用弹性计算平台。EMR 团队在国内运营最大的 Spark 社区(钉钉群号:21784001,团队群号:HPRX8117),为了更好地传播和分享业界最新技术和最佳实践,现在联合Intel及开源社区同行,打造一个纯粹的技术交流线下沙龙《大数据 + AI》,定期为大家做公益分享。 报名链接:https://www.slidestalk.com/m/61或微信扫码: 时间:2019年11月16日(周六)下午地点:上海市徐汇区裕德路126号(氪空间徐家汇社区) 周边交通:1号线 上海体育馆站8号口 步行10分钟4号线 上海体育馆站4号口 步行10分钟3号线 宜山路站2号口 步行13分钟9号线 宜山路站3号口

大數據

阿里云大数据+AI技术沙龙上海站

阿里云 EMR 团队,致力于为客户提供开源大数据 Hadoop/Spark 生态基于云端的一站式,高可用弹性计算平台。EMR 团队在国内运营最大的 Spark 社区(钉钉群号:21784001,团队群号:HPRX8117),为了更好地传播和分享业界最新技术和最佳实践,现在联合Intel及开源社区同行,打造一个纯粹的技术交流线下沙龙《大数据 + AI》,定期为大家做公益分享。 报名链接:https://www.slidestalk.com/m/61或微信扫码: 时间:2019年11月16日(周六)下午地点:上海市徐汇区裕德路126号(氪空间徐家汇社区) 周边交通:1号线 上海体育馆站8号口 步行10分钟4号线 上海体育馆站4号口 步行10分钟3号线 宜山路站2号口 步行13分钟9号线 宜山路站3号口

大數據

带你读《深入理解AutoML和AutoDL:构建自动化机器 学习与深度学习平台》之三:机器学习概述

点击查看第一章点击查看第二章第3章 机器学习概述 机器学习(Machine Learning,ML)是实现人工智能的一种方法,它来源于早期的人工智能领域,是人工智能研究发展到一定阶段的必然产物。机器学习可以分为以支持向量机为代表的统计学习和以人工神经网络为代表的深度学习。统计学习模型参数往往是可解释的,而人工神经网络则是一个“黑箱”。本章我们首先主要介绍统计机器学习,包括机器学习的发展和基本实现方法,然后引出自动化机器学习。 3.1 机器学习的发展 3.1.1 “机器学习”名字的由来 人工智能在1956年由约翰·麦卡锡(John McCarthy)首次定义,其含义是可以执行人类智能特征任务的机器。包括语言理解、物体识别、声音识别、学习和智能地解决人类问题等方面。人工智能可以从广义和狭义两个方面理解:广义是指人工智能是可以实现同等人类能力的计算机;狭义是指其可以做人类要求的特定任务,并且能够做得非常好,比如一台用来识别图像的机器就仅限于能够很好地识别图像,而不能做其他事情。机器学习是人工智能的核心任务,阿瑟·塞缪尔(Arthur Samuel)将机器学习定义为“没有明确编程就能学习的能力”。虽然在不使用机器学习的情况下,就可以实现人工智能,但是这需要通过定义复杂的规则和决策树等方式来构建数百万行代码。因此,就出现了现在的机器学习算法,不需要通过手动编码和定义特定的指令来完成特定的任务,只需要以一种“训练”算法的方式让机器自己学习,并根据输入的数据进行自我调整和改进。那么“机器学习”的名字是怎么来的呢?1952年,阿瑟·塞缪尔在IBM公司研制了一个西洋跳棋程序,塞缪尔自己并不是下西洋棋的高手,因此这个计算机程序的下棋能力很差,但是它具有自学习能力,可以通过自己对大量棋局的分析,逐渐学会如何分辨当前局面出的是“好棋”还是“坏棋”,从中不断积累经验和吸取教训,进而不断提高棋艺,最后竟然超过了塞缪尔本人。塞缪尔认为,在不使用具体的代码,只使用一定数量的训练数据和泛型编程的前提下,机器就可以从训练数据中学到赢棋的经验,这就是机器学习最初的定义。1961年,“知识工程之父”爱德华·费根鲍姆(Edward Feigenbaum,1994年图灵奖得主)为了编写其巨著《Computers and Thought》,邀请塞缪尔提供该程序最好的一个对弈实例。借此机会,塞缪尔向当时的康涅狄格州的跳棋冠军,也是全美排名第四的棋手发起挑战,最终塞缪尔的程序获得了胜利,轰动一时。塞缪尔的这个跳棋程序不仅在人工智能领域成为经典,它还推动了整个计算机科学的发展进程。计算机刚出现的时候,只是被用来做大型计算的机器,不可能完成没有事先编好程序的任务,而塞缪尔的跳棋程序,打破了这种思想的禁锢,创造了不可能,从那以后,引领了新的计算机潮流,成为后人发展计算机的新方向。 3.1.2 “机器学习”的前世今生 20世纪50年代到70年代初期,人工智能在此期间的研究被称为“推理期”,简单来说,人们认为只要赋予机器逻辑推理能力,机器就能具有智能。这一阶段的代表性工作有A. Newell和H. Simonde的“逻辑理论家”(Logic Theorist)程序,以及后来的“通用问题求解”(General Problem Solving)程序等,这些工作在当时获得了令人振奋的结果。“逻辑理论家”程序分别在1952年和1963年证明了著名数学家罗素和怀特海的名著《数学原理》中的38条定理和全部的52条定理。因此,A. Newell和H.

大數據

带你读《深入理解AutoML和AutoDL:构建自动化机器 学习与深度学习平台》之二:自动化人工智能

点击查看第一章点击查看第三章第2章 自动化人工智能 我们在第1章主要概述了人工智能,并在1.5节中引出了AutoML—自动化人工智能,本章将介绍AutoML,包括AutoML的概述、发展、研究意义以及现有的AutoML平台和产品,其中还会穿插介绍一些平台的应用实例。本章只介绍概念性知识,关于AutoML的实际运用将在第二部分(第3~6章)和第三部分(第7~13章)详细展开。 2.1 AutoML概述 传统的人工智能旨在使用机器帮助人类完成特定的任务,随着人工智能的发展,在计算机领域衍生出了机器学习。机器学习旨在通过计算机程序完成对数据的分析,从而得到对世界上某件事情的预测并做出决定。随着机器学习的不断发展,其复杂程度也在不断增高,如果还完全依靠人为规定,使计算机按照设定的规则运行,会耗费大量的人力资源。如果让计算机自己去学习和训练规则,是否能达到更好的效果呢?跟随这一意愿的提出,就出现了本书的核心思想—自动化人工智能,也就是所谓“AI的AI”。让AI去学习AI,从而减少人工的参与,让机器完成更复杂的工作,这掀起了下一代人工智能的浪潮。 2.1.1 什么是自动化 在介绍自动化人工智能之前,先让我们了解一下什么是自动化。传统的自动化是指让机器等设备在没有人或者只有较少人参与的情况下,按照人的要求,完成一系列任务。自动化被广泛应用于各种行业,包括农业、工业、商业、医疗等领域。从20世纪40年代中期电子数字计算机的发明开始,数字程序控制便成为了一个新的发展方向。20世纪50年代末期,微电子技术开始发展,1958年出现晶体管计算机,1965年出现集成电路计算机,1971年出现单片微处理器。微处理器的出现对控制技术产生了重大影响,控制工程师可以很方便地利用微处理器来实现各种复杂的控制,使综合自动化成为现实。自动化的概念跟随时代变化不断发展。以前,自动化被认为是让机器代替人工操作、完成复杂的特定工作任务。后来随着电子和信息技术的发展,特别是随着计算机的出现和广泛应用,自动化的概念被认为是用机器(包括计算机)不仅要代替人的体力劳动,还要代替或辅助脑力劳动,以自动地完成特定的任务。随着自动化的发展,各行各业对于自动化的需求不断增加,且对人工智能的普及和应用的要求也越来越高,成本、精确度、效率等都影响着人工智能在现实生活中的应用。在人工智能应用的快速增长中,为了提高其水平,出现了对机器学习的需求。那么如何将自动化的思想应用到机器学习中呢? 2.1.2 AutoML的起源与发展 AutoML(Automated Machine Learning,自动化机器学习),即一种将自动化和机器学习相结合的方式,是一个新的研究方向,它可以使计算机独立完成更复杂的任务,从而解放人类的双手。在AutoML发展前,传统的机器学习需要经历数据预处理、特征选择、算法选择和配置等,而传统的深度学习则需要经历模型架构的设计和模型的训练。上述这些步骤都需要人工来操作,不仅耗时耗力,而且对专业人员的需求也比较大,结合现实生活中人们日益增长的需求,这限制了人工智能在其他领域的应用发展。因此,出现了这样的想法:将机器学习中的数据预处理、特征选择、算法选择等步骤与深度学习中的模型架构设计和模型训练等步骤相结合,将其放在一个“黑箱”里,通过黑箱,我们只需要输入数据,就可以得到我们想要的预测结果。中间这个“黑箱”的运行过程,不需要人工的干预便可以自动完成,而这个自动化的系统就是我们这本书的重点—AutoML。图2-1为AutoML的一个通用运行流程,也就是上面提到的,将所有运行流程都封装在一个“黑箱”中,我们只需要输入数据集,便可得到预测结果。AutoML主要关注两个方面—数据的获取和预测。目前已经出现了很多AutoML平台(见2.3节),用户在使用这些平台时,可以使用自己带的数据集,识别标签,从而得到一个经过充分训练且优化过的模型,并用该模型进行预测。大多数平台都会提示用户上传数据集,然后标记类别。在此之后,数据预处理、选择正确的算法、优化和超参数调整等步骤都是在服务器上自主进行的。最后,平台将公开一个可用于预测的REST端点。这种方法显著改变了训练机器学习模型中涉及的传统工作流。一些AutoML平台还支持导出与运行Android或iOS的移动设备兼容的、经过充分训练的模型。开发人员可以快速地将模型与他们的移动应用程序整合在一起,而无须学习机器学习的基本知识。 图2-1 AutoML通用流程 许多公司将AutoML作为一种服务提供给用户。Google Cloud AutoML、Microsoft Custom Vision和Clarifai的图像识别服务都是早期的AutoML使用者。另外很多大公司内部也都有自己的平台,例如Uber、OpenAI、DeepMind等都在NAS任务上做研究。从发展趋势来看,AutoML是未来人工智能发展的一个重要方向,但现阶段的研究成果成熟度和实际产品应用成熟度都存在巨大的提升空间。AutoML完全适合于认知API和定制机器学习平台。它提供了适当的定制级别,而非强制开发人员执行复杂的工作流。与以往被视为“黑箱”的认知API相比,AutoML虽然公开了相同程度的灵活性,但是结合了自定义数据和可移植性。随着每一个平台供应商都试图实现机器学习的大众化,AutoML正在成为人工智能的未来。图2-2是基于AutoML平台所具有的功能,在AutoML平台上可以实现多个领域的融 图2-2 AutoML平台具备的功能 合,既可以完成语音领域的任务,如自动语音识别系统、聊天机器人、文本语音系统;也可以完成声纹领域的任务,如声纹识别系统;还可以完成图像领域的任务,如计算机视觉、图像识别、目标检测等。 2.2 AutoML的研究意义

大數據

带你读《微服务架构设计模式》之三:微服务架构中的进程间通信

点击查看第一章点击查看第二章 第3章 微服务架构中的进程间通信本章导读 通信模式的具体应用:远程过程调用、断路器、客户端发现、自注册、服务端发现、第三方注册、异步消息、事务性发件箱、事务日志拖尾、轮询发布者 进程间通信在微服务架构中的重要性 定义和演化API 如何在各种进程间通信技术之间进行权衡 使用异步消息对服务的好处 把消息作为数据库事务的一部分可靠发送 与大多数其他开发人员一样,玛丽和她的团队在进程间通信(IPC)机制方面有一些经验。FTGO应用程序有一个REST API,供移动应用程序和浏览器端JavaScript使用。它还使用各种云服务,例如Twilio消息服务和Stripe支付服务。但是在像FTGO这样的单体应用程序中,模块之间通过语言级方法或函数相互调用。FTGO开发人员通常不需要考虑进程间通信,除非他们正在开发REST API或与云服务集成有关的模块。相反,正如你在第2章中看到的那样,微服务架构将应用程序构建为一组服务。这些服务必须经常协作才能处理各种外部请求。因为服务实例通常是在多台机器上运行的进程,所以它们必须使用进程间通信进行交互。因此,进程间通信技术在微服务架构中比在单体架构中扮演着更重要的角色。当应用程序迁移到微服务时,玛丽和其他FTGO开发人员将需要花费更多时间来思考进程间通信有关的问题。当前有多种进程间通信机制供开发者选择。比较流行的是REST(使用JSON)。但是,需要牢记“没有银弹”这个大原则。你必须仔细考虑这些选择。本章将探讨各种进程间通信机制,包括REST和消息传递,并讨论如何进行权衡。选择合适的进程间通信机制是一个重要的架构决策。它会影响应用程序可用性。更重要的是,正如我在本章和下一章中所解释的那样,进程间通信甚至与事务管理互相影响。一个理想的微服务架构应该是在内部由松散耦合的若干服务组成,这些服务使用异步消息相互通信。REST等同步协议主要用于服务与外部其他应用程序的通信。我从介绍微服务架构中的进程间通信开始本章。接下来,我将以流行的REST为例描述基于远程过程调用的进程间通信。服务发现和如何处理“局部失效”是我会重点讨论的主题。在这之后,我会描述基于异步消息的进程间通信,还将讨论保留消息顺序、处理重复消息和实现事务性消息等问题。最后,我将介绍自包含服务的概念,这类服务在处理同步请求时无须与其他服务通信,可以提高可用性。 3.1 微服务架构中的进程间通信概述 有很多进程间通信技术可供开发者选择。服务可以使用基于同步请求/响应的通信机制,例如HTTP REST或gRPC。另外,也可以使用异步的基于消息的通信机制,比如AMQP或STOMP。消息的格式也不尽相同。服务可以使用具备可读性的格式,比如基于文本的JSON或XML。也可以使用更加高效的、基于二进制的Avro或Protocol Buffers格式。在深入细节之前,我想提出一些值得考虑的设计问题。我们先来看看服务的交互方式,我将采用独立于技术实现的方式抽象地描述客户端与服务之间的交互。接下来,我将讨论在微服务架构中精确定义API的重要性,包括API优先的设计概念。之后,我将讨论如何进行API演化(变更)这个重要主题。最后,我会讨论消息格式的不同选项以及它们如何决定API演化的难易。让我们首先从交互方式开始吧。 3.1.1 交互方式 在为服务的API选择进程间通信机制之前,首先考虑服务与其客户端的交互方式是非常重要的。考虑交互方式将有助于你专注于需求,并避免陷入特定进程间通信技术的细节。此外,如3.4节所述,交互方式的选择会影响应用程序的可用性。正如你将在第9章和第10章中看到的,交互方式还可以帮助你选择更合适的集成测试策略。有多种客户端与服务的交互方式。如表3-1所示,它们可以分为两个维度。第一个维度关注的是一对一和一对多。 一对一:每个客户端请求由一个服务实例来处理。 一对多:每个客户端请求由多个服务实例来处理。

大數據

Spark Relational Cache实现亚秒级响应的交互式分析

本场视频链接:https://developer.aliyun.com/live/1548?spm=a2c6h.12873581.0.0.71671566Xloy3Z&groupCode=apachespark 本场PPT资料:https://www.slidestalk.com/AliSpark/SparkRelationalCache2019_57927 本次分享主要分为以下四个方面: 项目介绍 技术分析 如何使用 性能分析 一、项目介绍 项目背景 阿里云EMR是一个开源大数据解决方案,目前EMR上面已经集成了很多开源组件,并且组件数量也在不断的增加中。EMR下层可以访问各种各样的存储,比如对象存储OSS、集群内部自建的HDFS以及流式数据等。用户可以利用EMR处理海量数据和进行快速分析,也能够支持用户在上面做机器学习以及数据清洗等工作。EMR希望能够支撑非常大的业务数据量,同时也希望能够在数据量不断增长的时候,能够通过集群扩容实现快速数据分析。 云上Adhoc数据分析痛点 在云上做Adhoc数据分析的时候,很难实现随着数据量的增长使得查询的延迟不会大幅度增加。虽然目前各种引擎不断出现,并且某些引擎在一些场景下运行很快,但是数据量变大之后,查询响应速度难免有所下降,因此希望在比较统一的平台之上获得较好的性能。与此同时,阿里云也希望能够提供云原生的解决方案。Spark是目前工业界使用较多的计算引擎,应用非常广泛,但是在处理Adhoc上还是存在很多不足之处,因此阿里云在Spark上做了大量优化,帮助用户满足Adhoc查询的需求。因此就会涉及到缓存方案,虽然Spark中很早就有了缓存机制,但想要满足云上Adhoc场景却存在很多不足之处,因此阿里云会在Spark上做大量优化,帮助用户优化Adhoc查询速度。但是如果把数据放到内存中,将所有数据全部用作缓存可能也不足够,因此就催生出了Spark Relational Cache。 Spark Relational Cache 用户的SQL请求过来之后,到了Spark上面,会需要比较长的时间在数据来源上进行处理,这里下层的存储包括集群的HDFS以及远端的JindoFS和阿里云OSS等。当有了Spark Relational Cache之后,查询过来之后会查询是否能够用到存储在Relational

大數據

真香!阿里工程师的一段代码让我看饿了 | 开发者必读(095期)

最炫的技术新知、最热门的大咖公开课、最有趣的开发者活动、最实用的工具干货,就在《开发者必读》! 每日集成开发者社区精品内容,你身边的技术资讯管家。 每日头条 真香!阿里工程师的一段代码让我看饿了 打开盒马app,相信你跟阿里妹一样,很难抵抗各种美味的诱惑。颜值即正义,盒马的图片视频技术逼真地还原了食物细节,并在短短数秒内呈现出食物的最佳效果。今天,我们请来阿里高级无线开发工程师莱宁,解密盒马app里那些“美味”视频是如何生产的。 最强干货 5G来了,真的来了!你准备好了么? 2012年9月国内上映的一部好莱坞大片《敢死队2》,饰演恐怖分子头目的尚格·云顿掏出手机,遥控将埋设在坑道内的炸弹引爆。仔细看就会发现恐怖分子遥控引爆炸弹用的还是功能机和3G网络。一年以后,到2013年12月4日,国家工信部正式向三大运营商发布4G牌照。 时至今日,国内三大运营商正式上线5G商用套餐。你做好应对5G的冲击了么? 公理设计-由奇怪海战引发的软件设计思考 公理设计理论将设计建立在科学公理、定理和推论的基础上,由麻省理工学院教授 Nam. P. Suh 领导的研究小组于 1978 年提出,适用于各种类别的设计活动。软件设计当然也属于一类工程设计过程,这篇文章我们就来看一下两者的关联。 这样才能正确解锁MaxCompute客户端 大数据计算服务(MaxCompute,原名ODPS)是一种快速、完全托管的TB/PB级数据仓库解决方案。MaxCompute向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全。 每天读本书

大數據

MVP一周精选 20191101

精彩继续,精选来袭! 阿里云 MVP(阿里云最有价值专家),是专注于帮助他人充分了解和使用阿里云技术的意见领袖。在这里,您可以跟随各行各业技术达人快速Get到行业热点和前沿技术。点击了解更多。 【MVP说】 朱祺:机器学习算法—KMEANS算法原理及阿里云PAI平台算法模块参数说明 阿里云PAI平台提供了大量已经封装完成可以直接使用的机器学习算法模块,本文说明KMEANS算法的原理并在原理的基础上说明PAI平台KMEANS模块中参数设置的意义,根据原理介绍算法的优点和缺点。 安欣:看云栖说云栖——数据上云、灾备上云、老艺术家们参加盛大的杭州云栖大会,整理了存储资源相关《下一代存储技术与最佳实践专场》和《数据上云与数据智能专场》的分享内容,还见到了阿里云 MVP张广彬(狒哥),这位存储行业的老前辈。 刘洪峰:【阿里云IoT+YF3300】7.物联网设备表达式运算在前几期【阿里云IoT+YF3300】系列文章中分别介绍了Alink协议、Alink物模型,物联网设备报警配置等模块。本文继续物联网领域的分享:很多时候从设备采集的数据并不能直接使用,还需要进行处理一下。如果采用脚本处理,有点太复杂了,而采用表达式运算,则很方便地解决了此类问题。 【MVP时间】 闫安:大数据发展对云上解决方案的影响曾任阿里巴巴核心大数据部门第一任总监,有丰富的平台和行业解决方案经验。在云栖大会上分享大数据未来的发展与机遇:产业互联网、5G与物联网、云平台为基础的应用等。 缪政辉:超级开发者解读云栖大会精彩黑科技 致力于以场景化和更加通俗易懂的方式让更多人体验云计算,让云端的计算更质朴的落地。现身杭州云栖大会,分享在运维方面关注容器、云原生技术对企业未来软件的部署会有非常大的改变。 章斌:数字化转型项目实践案例解析十年以上IT行业从业经验,专注于云计算与大数据方向。章斌带来杭州云栖大会参会不一样的感受,阿里云联合厂商做了产品及解决方案的发布,在新技术、新工具的基础上,有了更多的联合解决方案向客户输出,让客户更能感受到服务的价值。 想随时学习MVP最新实践与技术经验,即刻关注“阿里云MVP技术圈”,我们在阿里云开发者社区等您! 第11期阿里云 MVP 全球招募进行中,期待您的加入,点击申请。 上期精彩内容:MVP精选20191025 如果您还希望阿里云

大數據

带你读《HBase原理与实践》之一:HBase概述

数据库技术丛书点击查看第二章点击查看第三章HBase原理与实践 胡 争 范欣欣 著第1章 HBase概述 HBase是目前非常热门的一款分布式KV(KeyValue,键值)数据库系统,无论是互联网行业还是其他传统IT行业都在大量使用。尤其是近几年随着国内大数据理念的普及,HBase凭借其高可靠、易扩展、高性能以及成熟的社区支持,受到越来越多企业的青睐。许多大数据系统都将HBase作为底层数据存储服务,例如Kylin、OpenTSDB等。本章作为全书的开篇,将从HBase的历史发展、数据模型、体系结构、系统特性几个方面,向读者介绍这位主角。 1.1 HBase前生今世 1. HBase历史发展要说清楚HBase的来龙去脉,还得从Google当年风靡一时的“三篇论文”—GFS、MapReduce、BigTable说起。2003年Google在SOSP会议上发表了大数据历史上第一篇公认的革命性论文—《GFS: The Google File System》,之所以称其为“革命性”是有多方面原因的:首先,Google在该论文中第一次揭示了如何在大量廉价机器基础上存储海量数据,这让人们第一次意识到海量数据可以在不需要任何高端设备的前提下实现存储,换句话说,任何一家公司都有技术实力存储海量数据,这为之后流行的海量数据处理奠定了坚实的基础。其次,GFS体现了非常超前的设计思想,以至于十几年之后的今天依然指导着大量的分布式系统设计,可以说,任何从事分布式系统开发的人都有必要反复阅读这篇经典论文。2004年,Google又发表了另一篇非常重要的论文—《MapReduce: Simplef?ied Data Processing on Large Clusters》,这篇论文论述了两个方面的内容,其中之一是MapReduce的编程模型,在后来的很多讨论中,人们对该模型褒贬不一,该编程模型在之后的技术发展中接受了大量的架构性改进,演变成了很多其他的编程模型,例如DAG模型等。当然,MapReduce模型本身作为一种基础模型得到了保留并依然运行在很多特定领域(比如,Hive依然依赖MapReduce处理长时间的ETL业务)。MapReduce在GFS的基础上再一次将大数据往前推进了一步,论文论述了如何在大量廉价机器的基础上稳定地实现超大规模的并行数据处理,这无疑是非常重要的进步。这篇论文无论在学术界还是在工业界都得到了极度狂热的追捧。原因无非是分布式计算系统可以套用于大量真实的业务场景,几乎任何一套单机计算系统都可以用MapReduce去改良。2006年,Google发布了第三篇重要论文—《BigTable: A Distributed Storage

Scroll to Top