[大数据] StreamSets: 大数据采集工具
优采云 发布时间: 2020-08-05 13:17关于StreamSets
StreamSets由Informatica的前首席产品官Girish Pancha和Cloudera的前开发团队负责人Arvind Prabhakar于2014年成立. 他们成立公司主要是为了应对运动中的数据(包括数据源,数据处理和数据本身)带来的挑战. 这是一个称为“运动中的数据”()的问题. StreamSets设想从头开始管理数据流,避免现有产品和工具的缺陷,并提供一种管理动态数据的新方法.
他们的第一个产品StreamSets Data Collector()被数百家公司用来构建复杂的任意数据流,包括财富500强公司,涉及金融服务,制造业,医疗,媒体,制药和技术等多个行业.
他们的最新产品StreamSets Dataflow Performance Manager,也称为DPM,主要用于构建端到端数据流. DPM是一个操作控制中心,可让您映射(数据流),内置测量和监视功能,以确保连续数据传输并控制动态数据(运动中的数据)的性能. 首先,它将不同的数据流映射到支持每个关键业务流程的拓扑. 然后监视这些拓扑的日常运行,并根据掌握的性能来满足应用程序的SLA,以确保您始终提供及时且可靠的数据.
StreamSets在旧金山,硅谷和巴塞罗那设有办事处,并得到Accel Partners,Battery Ventures,Ignition Partners和New Enterprise Associates(NEA)等顶级硅谷风险投资公司的支持. 大数据行业的领先合作伙伴包括Cloudera,Databricks,MapR和Microsoft.
好的,Fayson告诉我一些事情. StreamSets是一个大数据采集工具. 数据源支持结构化和半/非结构化. 目标源支持HDFS,HBase,Hive,Kudu,Cloudera Search,ElasticSearch等. 它包括一个拖放式可视数据流设计界面,定时任务调度和其他功能. 例如,它可以将数据从Kafka + Spark Streaming连接到Hadoop集群,而无需编写代码. 这太酷了! ! !请看下面的一些屏幕截图.
使用TensorFlow在数据采集器中进行实时机器学习
摘要: 本文通过最新的TensorFlow Evaluator版本学习如何使用TensorFlow(TF)模型进行预测和分类.
只有当业务用户和应用程序可以访问来自各种数据源的原创数据和聚合数据并及时生成数据驱动的理解时,才能实现最新DataOps平台的真正价值. 借助机器学习(Machine Learning),分析师和数据科学家可以实时使用历史数据并使用TensorFlow(TF)等技术来制定更好的数据驱动型业务离线决策.
在本文中,您将学习如何使用TensorFlow模型在StreamSets Data Collector 3.5.0和StreamSets Data Collector Edge中预测和分类新发布的TensorFlow Evaluator *.
在深入研究细节之前,让我们看一些基本概念.
机器学习
亚瑟·塞缪尔(Arthur Samuel)将其描述为: “一个使计算机能够在不显式编写程序的情况下进行学习的研究领域. ”随着机器学习领域的最新发展,计算机现在能够做出预测,甚至比人类做得更好,而且感觉它可以解决任何问题. 让我们首先回顾一下机器学习可以解决的问题.
一般而言,机器学习分为两个主要类别:
监督学习
“监督学习是一种机器学习任务,它学习基于输入-输出示例将输入映射到输出的功能. ”-Wikipedia.
它涉及建立准确的模型. 将历史数据标记为某种结果后,该模型可以预测结果.
通过监督学习解决的常见业务问题:
无监督学习
无监督学习使我们可以在几乎不了解输出结果的情况下处理问题. 当先前数据上的标签不可用时,它涉及创建模型. 在这类问题中,结构是根据数据中变量之间的关系通过对数据进行聚类而得出的.
无监督学习的两种常见方法是K-means聚类和DBSCAN.
注意: Data Collector和Data Collector Edge中的TensorFlow Evaluator当前仅支持监督学习模型.
神经网络和深度学习
神经网络是一种机器学习算法,可以学习和使用受人脑结构启发的计算模型. 与决策树和逻辑回归等其他机器学习算法相比,神经网络具有更高的准确性.
Andrew Ng在传统的人工神经网络的背景下描述了深度学习. 在题为``深度学习,自学习和无监督特征学习''的演讲中,他将深度学习的想法描述为:
“希望模仿大脑结构,
-使学习算法更好,更易于使用;
-在机器学习和人工智能领域取得革命性进展;
我相信这是我们迈向真正人工智能的最好方法. “
常见的神经网络和深度学习应用程序包括:
TensorFlow
TensorFlow是由Google Brain团队开发的用于深度神经网络的开源机器学习框架. TensorFlow在Windows和Mac操作系统(包括CPU,GPU和TPU)上支持可扩展的*敏*感*词*培训. 迄今为止,它是GitHub上最受欢迎,最活跃的机器学习项目.
数据采集器中的TensorFlow
随着TensorFlow Evaluator的引入,您现在可以创建管道来获取数据或特征,并在受控环境中生成预测结果或分类,而不必通过Web服务通过HTTP或REST API调用来启动供应和发布. 机器学习模型. 例如,数据采集器管道现在可以实时检测欺诈*敏*感*词*易或对文本进行自然语言处理,因为数据在存储到最终目的地之前正在经历各个阶段的进一步处理或决策.
此外,借助Data Collector Edge,您可以在Raspberry Pi和受支持平台上运行的其他设备上运行启用的TensorFlow机器学习管道. 例如,在高风险地区检测洪水等自然灾害的可能性,以防止对人的财产造成损害.
乳腺癌的分类
让我们考虑一下将乳腺癌肿瘤归为恶性还是良性的例子. 乳腺癌是经典数据集,可作为scikit学习的一部分. 要了解如何使用Python中的此数据集训练和导出简单的TensorFlow模型,请在GitHub上查看我的代码. 正如您将看到的,模型的创建和训练保持最少且非常简单,只有几个隐藏层. 需要注意的最重要方面是如何使用TensorFlow SavedModelBuilder *导出和保存模型.
*注意: 要在Data Collector或Data Collector Edge中使用TensorFlow模型,您应该首先使用TensorFlow的SavedModelBuilder导出并保存为您选择的开发语言(例如Python)以及交互式环境(例如Jupiter Notebook)并将其保存模型.
使用TensorFlow的SavedModelBuilder训练和导出模型后,只要将模型保存在Data Collector或Data Collector Edge可以访问的位置,就可以非常轻松地将其用于数据流管道中的预测或分类.
管道概述
在深入研究细节之前,您可以了解管道的外观:
管道详情
* TensorFlow评估程序配置
注意: TensorFlow Evaluator生成模型输出后,此示例中使用的管道阶段是可选的,并可根据用例的需要与其他处理器和目标互换.
管道执行
在预览管道上,乳腺癌数据记录的输入经过上述数据流管道过程,包括为我们提供服务的TensorFlow模型. 发送给Kafka生产者的最终输出记录数据(如上所示)包括模型用于分类的乳腺癌特征,用户定义字段TF_Model_Classification中模型的输出值为0或1,以及表达式创建的条件. 评估者该字段指示相应的癌症状况是良性还是恶性.
摘要
本文介绍了Data Collector 3.5.0中新发布的TensorFlow Evaluator的用法. 一般来说,该评估程序将允许您提供经过预训练的TensorFlow模型,以生成预测结果和分类结果,而无需编写任何自己的代码.
阿里云云栖社区社区组织翻译.
“数据采集器中使用TensorFlow进行实时机器学习”一文的原创标题
翻译: Mags,审稿人: Yuan Hu.
戴金权: *敏*感*词*数据分析和AI帮助业务智能转型
戴金权
7月28日至29日,由中国人工智能学会和深圳市罗湖区人民政府共同主办,由科普立即主办的“ 2018中国人工智能大会(CCAI 2018)”圆满结束.
会议第一天上午,英特尔高级首席工程师兼大数据技术全球首席技术官戴金泉作了主题演讲,主题为“大型数据分析和人工智能推动业务智能转型”.
以下是根据速记编写的会议演讲的记录.
戴金泉英特尔大数据技术全球首席技术官高级总工程师
今天,我将向您介绍英特尔如何结合大数据分析和深度学习技术来构建类似于BigDL和Analytics Zoo的大数据分析+人工智能平台,以帮助用户更轻松地集成深度学习和人工智能. 该技术已应用于真实场景.
这样做的目的是什么?
你为什么要这样做?
我们的主要出发点是构建技术和平台,以帮助众多大数据用户(无论是工程师,数据科学家,数据分析师还是普通IT人员)更轻松地集成深度学习和人工智能. 技术已应用于其大数据平台和大数据生态系统. 这也受到行业中一些非常重要的技术和发展趋势的推动.
第一个趋势: 数据规模的扩大推动了深度学习的发展
之所以今天的深度学习如此有效,是因为我们要处理和分析大量数据. 下图是安德鲁(Andrew)2016年的“机器学习向往”书中的照片. 可以直观地看出,随着数据规模的增长,我们可以构建更大,更复杂的深度学习神经网络. 更好地利用这些数据来提高模型的准确性和有效性.
第二个趋势: Hadoop已成为“数据重心”
真实环境中的数据不是标准化的,非常大且混乱,并且没有定义数据以及标准化的测试集. 在过去的十年中,每个人都建立了一个以Apache Hadoop生态系统为中心的数据存储,处理和分析平台,例如Hadoop,Spark,HBase和Hive. 数据将通过各种渠道进入企业组织,并将通过管道以Hadoop为标准聚合到大数据平台中. 从这个意义上讲,任何数据处理和分析框架及应用程序(包括深度学习框架)都必须能够与Hadoop标准的大数据平台良好地交互.
第三个趋势: 工业级机器学习/深度学习系统是复杂的大数据分析管道
今天,您可以看到很多高级深度学习和机器学习模型,它们可以做很多突破性的工作. 如何将此类模型和算法应用于实际生产环境以及工业级数据处理和分析的端到端应用程序,需要大量模块. 从数据导入,数据清理,特征提取,特征转换到模型操作,训练,推理以及最终将结果应用于实际环境,再加上资源管理,调度和分配,所有这些都必须与当前情况保持一致. 一些大数据处理工作流集成在一起.
第四趋势: 统一的大数据平台推动分析和数据科学
Ion Stoica是加州大学伯克利分校的计算机教授,AMPLab的联合创始人,Spark和Mesos的核心设计师. 他在Spark Summit 2013主题演讲中做了一个比喻. 五年前,我们使用了各种特殊设备,例如MP3,*敏*感*词*,GPS和电话. 现在,只有智能手机才能具有所有功能. 这不仅方便,而且在统一设备后可以构建更多新的应用程序.
以Apache Hadoop和Spark为中心的统一大数据平台实际上包括许多大数据开源生态系统组件,可以帮助用户轻松地在平台上执行数据分析,从而极大地促进了大数据分析的发展. 在各行各业中的应用.
深度学习与大数据社区之间的鸿沟
显而易见,当今的人工智能和深度学习之间存在很大的差距. 顶尖的深度学习研究人员继续在模型方面取得新突破,但是数据科学家,数据分析师和普通数据用户很难将这些模型应用于实际的生产环境. 在深度学习模型算法和大数据处理工作之间存在很大的差距. 这正是我们希望通过将大数据分析平台与AI平台相结合来解决的问题.
例如,京东(JD.com)在分布式存储系统中存储了数亿张图片,并希望从大数据集群中读取这些图片,然后对其进行预处理. 首先使用SSD模型识别图片中的内容;然后使用深度学习DeepBit模型提取项目的特征;然后将结果存储回HDFS,以供下游服务使用. 这是一个相对复杂的端到端数据处理管道. 通过统一的大数据分析+ AI平台,用户可以轻松集成这些新的大数据处理,分析,深度学习和人工智能技术. 大大提高了运维效率.
在生产环境中,我们的生产数据在一个大数据集群中可能有成千上万甚至上万个. 对于深度学习,必须为深度学习处理建立专用的群集和框架. 如何将大量数据从成千上万的大数据集群导入到专用的深度学习集群,这已成为一个大瓶颈. 在统一的大数据分析+ AI平台上,深度学习的这些功能已集成到现有的端到端大数据处理管道中. 深度学习可以为大数据社区和数据科学社区提供更方便的使用,并且可以使用其现有的大数据框架和平台来开发新的深度学习应用程序,或者直接使用深度学习技术来分析数据存储集群上的数据.
为了实现这一目标,英特尔推出了开源BigDL
BigDL是用于Apache Spark的分布式深度学习框架. 它是Spark上的标准组件. 它可以直接在现有的Hadoop和Spark集群上运行,而无需对该集群进行任何修改,并且可以与大数据一起使用. ,生态系统中不同的分析和处理组件已很好地集成在一起. BigDL具有与当前主流的深度学习框架Caffe,Torch和TensorFlow相同的功能. 它的特点是建立在大数据集群上,专门针对大数据集群进行了设计和优化. 在单个点上使用Intel MKL,多线程编程等,它比其他开源框架快,并且可以获得高性能. 同时,使用Spark等*敏*感*词*分布式横向扩展架构,可以轻松进行分布式训练和推理. BigDL是一个开源项目,可以在Github上进行搜索.
BigDL的工作原理
BigDL是标准的Spark组件. 使用BigDL开发深度学习应用程序时,它无需更改即可直接在Spark集群上运行. 为了获得高性能,BigDL在每个Spark任务中使用Intel MKL和多线程编程. 机器学习和深度学习是迭代计算. 每次迭代将运行一个标准的Spark作业,在该作业中将以分布式方式训练数据. 例如,执行Gradient体面,执行更新,然后所有Spark任务都运行相同的模型. 每个模型仅处理部分数据. 在迭代过程中,所有数据将成为批处理. 这是一个Minibatch SGD,这是一个同步Minibatch SGD算法.
BigDL分布式培训
Spark提供了一种为分布式模型训练模型的方法,并且其分布式训练不使用外部系统来完成. 为了在当前字段中并行执行数据同步SGD,需要某些架构(例如所有reduce或参数服务器)来支持此工作. 但是,许多实现都需要通过在Spark框架上集成外部第三方框架来完成,并且我们直接使用Spark内部的大数据来处理一些原语. 大家都知道,大数据计算模型是一种功能计算,并使用按权利复制. 数据是不可变的. 它还具有诸如随机播放,广播等操作,以向用户提供更高级别的计算. 这些也与深度学习的原创方法完全不同. 我们的工作是使用Spark已经必须在内部直接构建all reduce机制的一些原语,以便提供类似于Spark上的参数服务器的架构. ,但是没有引入任何第三方框架和第三方依赖项,优点是分布式培训直接在现有的Spark集群上运行. 例如,数学科学家不是集群管理员. 他无权在集群上安装任何东西. 他只能使用现有集群提供的服务,但是可以直接在Hadoop集群上使用BigDL框架,而无需任何依赖. 分布式的深度学习培训.
BigDL的可扩展性
Cray是美国的一家超级计算机公司. 它将BigDL集成到其数据分析Urika-XC套件中,并通过在各种节点数下运行训练模型来研究CDL XC超级计算机上BigDL的可伸缩性. 它可以获得从4到256个节点的几乎线性的可伸缩性曲线,可以为其超级计算提供深度学习功能.
Analytics Zoo
事实上,BigDL和TensorFlow距离最终的AI应用程序还很遥远. 基于Apache Spark和BigDL,我们构建了一个Analytics Zoo大数据分析和人工智能平台. 从某种意义上讲,它是Spark和BigDL的扩展. 其目的是帮助用户基于大数据端到端学习来开发应用程序. 除了内置的模型和功能工程操作外,它还提供了大量的高级管道支持,可以使用Spark DataFrames,ML Pipelines深度学习管道,通过迁移学习API来构建API模型的定义;在此基础上,我们可以轻松地使用我们提供的Model Zoo模型,甚至可以使用端到端参考应用程序,例如异常检测等;您可以使用很少的代码使用这些高级API和内置模型来轻松构建端到端的大数据分析以及深度学习应用程序.
例如,大数据深度学习模型可以直接嵌入到Spark SQL和DataFrame中. 用户可以直接使用Spark SQL和DataFrame编写查询. 该查询可以直接使用深度学习模型来确定照片是狗还是猫?您还可以使用模型服务API和其他大数据框架Flink,Kafka,Storm和Web服务在Analytics Zoo中集成模型. 目前,Analytics Zoo和BigDL可以在几乎所有公共云平台上使用,包括AWS,阿里云和百度云.
深度学习解决方案的生产部署面临的挑战
例如,在前面提到的京东的情况下,如果将单独的系统用于*敏*感*词*生产部署,则管理这样的*敏*感*词*分布式深度学习将非常复杂且容易出错. 您必须执行资源管理,数据分段和错误管理. 这是您遇到的第一个挑战. 第二个问题是当您查看应用程序的端到端性能时,从数据读取到数据处理,再到运行模型直到将结果写回到HDFS时,GPU集群的效率都很低,并且花费了一半的时间. 是时候从HBase读取图片了. 实际上,系统中的任何组件都会成为瓶颈. 当然,从开发,运维和维护的角度来看,它也非常复杂.
合作案例
在与JD.com的合作中,它们最初是基于多个GPU构建的,并在Caffe上进行了培训,但是它们在开发,部署和性能方面遇到了问题. 我们与JD.com的合作是将端到端流程迁移到基于Spark的集群,该集群的效率是以前的GPU解决方案的3-4倍.
第二种情况是与MLSListing合作. MLSListing是加利福尼亚州的房地产经销商. 他们根据用户浏览的房屋图片向用户推荐类似的房屋. 该系统基于Microsoft Azure平台构建,并且图片存储在Azure存储中. 通过Hadoop,Spark和BigDL,我们对图片进行处理和分析;然后将最终结果存储在HBase系统中;然后使用Web服务API转移提供给用户的服务.
第三种情况与Cray合作进行了短期降水云图预测. 通过Seq2Seq模型,将过去一小时的卫星云图制成一个时间序列,并导入到数据模型中;然后预测下一个小时每10分钟的卫星云图变化,以分析一些降水.
第四种情况是与万事达卡的合作. 他们在Hive大数据文件系统中存储了大量结构化和半结构化交易数据. 除了查询功能外,他们希望为用户提供离线增值服务,并增加用户与企业之间的匹配度.
工业互联网
工业情报官AI-CPS
加入知识星球“工业智能研究所”: 先进的工业OT(过程+自动化+机器人+新能源+精益)技术和新一代信息IT技术(云计算+大数据+物联网+区块链+深度整合,构建具有状态感知-实时分析-独立决策-精确执行-现场学习和改进的机器智能认知计算系统,实现产业互联互通的产业转型升级的生态链驱动的业务,并重视创新创造.