气象大数据平台建设方案_第1页
气象大数据平台建设方案_第2页
气象大数据平台建设方案_第3页
气象大数据平台建设方案_第4页
气象大数据平台建设方案_第5页
已阅读5页,还剩117页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

引言在气象行业内部,气象数据的价值已经和正在被深入挖掘着。但是,不能将气象预报产品的社会化推广简单地认为就是“气象大数据的广泛应用”。大数据实际上是一种混杂数据,气象大数据应该是指气象行业所拥有的以及锁接触到的全体数据,包括传统的气象数据和对外服务提供的影视音频资料、网页资料、预报文本以及地理位置相关数据、社会经济共享数据等等。传统的”气象数据“,地面观测、气象卫星遥感、天气雷达和数值预报产品四类数据占数据总量的90%以上,基本的气象数据直接用途是气象业务、天气预报、气候预测以及气象服务。“大数据应用”与目前的气象服务有所不同,前者是气象数据的“深度应用”和“增值应用”,后者是既定业务数据加工产品的社会推广应用。“大数据的核心就是预测”,这是《大数据时代》的作者舍恩伯格的名言。天气和气候系统是典型的非线性系统,无法通过运用简单的统计分析方法来对其进行准确的预报和预测。人们常说的南美丛林里一只蝴蝶扇动几下翅膀,会在几周后引发北美的一场暴风雪这一现象,形象地描绘了气象科学的复杂性。运用统计分析方法进行天气预报在数十年前便已被气象科学界否决了——也就是说,目前经典的大数据应用方法并不适用于天气预报业务。现在,气象行业的公共服务职能越来越强,面向政府提供决策服务,面向公众提供气象预报预警服务,面向社会发展,应对气候发展节能减排。这些决策信息怎么来依赖于我们对气象数据的处理。气象大数据应该在跨行业综合应用这一“增值应用”价值挖掘过程中焕发出的新的光芒。

大数据平台的基本构成概述“大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大数据技术的战略意义不在于掌握庞大的数据信息,而在于对这些含有意义的数据进行专业化处理。换言之,如果把大数据比作一种产业,那么这种产业实现盈利的关键,在于提高对数据的“加工能力”,通过“加工”实现数据的“增值”。从技术上看,大数据与云计算的关系就像一枚硬币的正反面一样密不可分。大数据必然无法用单台的计算机进行处理,必须采用分布式架构。它的特色在于对海量数据进行分布式数据挖掘(SaaS),但它必须依托云计算的分布式处理、分布式数据库(PaaS)和云存储、虚拟化技术(IaaS)。大数据可通过许多方式来存储、获取、处理和分析。每个大数据来源都有不同的特征,包括数据的频率、量、速度、类型和真实性。处理并存储大数据时,会涉及到更多维度,比如治理、安全性和策略。选择一种架构并构建合适的大数据解决方案极具挑战,因为需要考虑非常多的因素。气象行业的数据情况则更为复杂,除了“机器生成”(可以理解为遥测、传感设备产生的观测数据,大量参与气象服务和共享的信息都以文本、图片、视频等多种形式存储,符合“大数据”的4V特点:Volume(大量)、Velocity(高速)、Variety(多样)、veracity(真实性) 。这些信息长期存储于气象各部门的平台上未能加以合理利用。另一方面,这些数据本身就是分散存储于多个服务器平台上,急需应用分布式平台统一管理。因此,我们亟需一种结构化和基于模式的方法来简化定义完整的大数据架构的任务。因为评估一个业务场景是否存在大数据问题很重要,所以我们包含了一些线索来帮助确定哪些业务问题适合采用大数据解决方案。数据基础决定平台框架从分类大数据到选择大数据解决方案RDBMS:关系型数据库;ETL:数据清晰、转换、装载的过程;ELT:数据清晰、装载、转换的过程;CDC:增量数据复制。有同步和异步两种模式。数据种类结构示例量安全性建模存储和检索集成使用主数据事务分析数据元数据结构化观测数据中-高数据库、应用程序和用户访问预定义的关系建模或维度建模RDBMS/SQLETL/ELT、CDC应用程序、BI和统计程序参考数据结构化和半结构化交换数据中-低平台安全性灵活可扩展XML/xQueryETL/ELT、消息使用基于系统文档和内容非结构化预报文件高基于文件系统随意文件系统/搜索操作系统级文件移动内容管理大数据-网页-物联网-卫星/雷达等传感器结构化、半结构化、非结构化云图视频语音网志高文件系统和数据库灵活(键值)分布式文件系统/noSQLHadoop、MapReduce、ETL/ELT、消息BI和统计工具结构化数据半结构化数据“非结构化数据非结构化数据依据大数据类型对业务问题进行分类根据气象服务需要,业务问题可分类为不同的大数据问题类型。以后,我们将使用此类型确定合适的分类模式(原子或复合)和合适的大数据解决方案。但第一步是将业务问题映射到它的大数据类型。下表列出了常见的业务问题并为每个问题分配了一种大数据类型。业务问题大数据问题描述公用事业:临近天气预报机器生成数据依据站点观测数据汇总和国家局下发文件、全球交换数据只做的预报信息政府决策:区域天气预警机器生成的数据地理信息数据政府交换数据图片视频资料语音播报数据历史灾害汇总微博等网页数据政府机构通过“智慧都市”等平台整合IS关联天气预警产品、预警通知反馈、城区建筑布局与灾害易发分析结果预测预判辖区内的灾情险情,做好防灾避险工作保险业:气象相关险种气象预报Web与社交媒体数据依据气象预报信息以及网络媒体调查反馈,开辟“中暑险”、“赏月险”等多个险种医疗保健:流行病监控气象预报生活指数根据历史气象资料和流行病历史资料结合分析,预判流行病发展趋势,对流行病监控、地区流行病学、药物发明、临床试验数据分析、病人病情分析等起着至关重要的作用此类分析也可以为医药企业的销售行为提供参考期货:农产品灾害预测气象灾害预警历史气候对农产品影响分析-用于气象灾害提醒、农产品价格变化预测-用于期货市场预测分析使用大数据类型对大数据特征进行分类按特定方向分析大数据的特征会有所帮助,例如以下特征:数据如何收集、分析和处理。对数据进行分类后,就可以将它与合适的大数据模式匹配:分析类型—对数据执行实时分析还是批量分析。请仔细考虑分析类型的选择,因为这会影响一些有关产品、工具、硬件、数据源和预期的数据频率的其他决策。一些用例可能需要混合使用两种类型:临近分析;分析必须实时或近实时地完成。历史分析针对战略性业务决策的趋势分析;分析可采用批量模式。处理方法—要应用来处理数据的技术类型(比如预测、分析、临时查询和报告)。业务需求确定了合适的处理方法。可结合使用各种技术。处理方法的选择,有助于识别要在您的大数据解决方案中使用的合适的工具和技术。数据频率和大小—预计有多少数据和数据到达的频率多高。知道频率和大小,有助于确定存储机制、存储格式和所需的预处理工具。数据频率和大小依赖于数据源:按需分析,与社交媒体数据一样实时、持续提供(天气数据、交易数据)时序(基于时间的数据)数据类型—要处理数据类型—交易、历史、主数据等。知道数据类型,有助于将数据隔离在存储中。内容格式(传入数据的格式)结构化(例如RDMBS)、非结构化(例如音频、视频和图像)或半结构化。格式确定了需要如何处理传入的数据,这是选择工具、技术以及从业务角度定义解决方案的关键。数据源—数据的来源(生成数据的地方),比如Web和社交媒体、机器生成、人类生成等。识别所有数据源有助于从业务角度识别数据范围。该图显示了使用最广泛的数据源。数据使用者—处理的数据的所有可能使用者的列表:业务流程业务用户企业应用程序各种业务角色中的各个人员部分处理流程其他数据存储库或企业应用程序硬件—将在其上实现大数据解决方案的硬件类型,包括商用硬件或最先进的硬件。理解硬件的限制,有助于指导大数据解决方案的选择。数据分类决定应用方案将不同的数据类型集成后,统一按照大数据进行处理,如下图:

大数据平台的逻辑层次逻辑构成从框架上展示了各个组件的组织方式。这些层提供了一种方法来组织执行特定功能的组件。这些层只是逻辑结构;这并不意味着支持每层的功能在独立的机器或独立的进程上运行。大数据平台通常由以下逻辑层组成:数据集成层数据存储层数据分析层数据使用层大数据集成层要全面考虑来自所有渠道的,所有可用于分析的数据。要求团队中的数据专家阐明执行需求所需的数据。这些信息包括:格式—结构化、半结构化或非结构化。速度和数据量—数据到达的速度和传送它的速率因数据源不同而不同。收集点—收集数据的位置,直接或通过数据提供程序,实时或以批量模式收集数据。数据可能来自某个主要来源,比如天气条件,也有可能来自一个辅助来源,比如媒体赞助的天气频道。数据源的位置—数据源可能位于企业内或外部。识别您具有有限访问权的数据,因为对数据的访问会影响可用于分析的数据范围。大数据存储层此层负责从数据源获取数据,并在必要时,将它转换为适合符合分析方式的格式。例如,可能需要转换一幅图,才能将它存储在HadoopDistributedFileSystem(HDFS)存储或关系数据库管理系统(RDBMS)仓库中,以供进一步处理。规范 1和治理策略要求为不同的数据类型提供合适的存储。大数据分析层分析层读取数据改动和存储层整理(digest)的数据。在某些情况下,分析层直接从数据源访问数据。设计分析层需要认真地进行事先筹划和规划。必须制定如何管理以下任务的决策:生成想要的分析从数据中获取洞察找到所需的实体定位可提供这些实体的数据的数据源理解执行分析需要哪些算法和工具。大数据应用层此层使用了分析层所提供的输出。使用者可以是可视化应用程序、人类、业务流程或服务。可视化分析层的结果可能具有挑战。大数据平台的功能架构组件构成横向层大数据集成层大数据来源:企业遗留系统—这些系统是企业应用程序,执行业务需要的分析并获取需要的洞察:气象网络设备监测系统气象信息共享系统MICAPS网络通信系统CMA-Cast突发应急系统气象预报系统气象服务系统办公自动化……Web应用程序开发--Web应用程序和其他数据来源扩充了企业拥有的数据。这些应用程序可使用自定义的协议和机制来公开数据。数据管理系统(DMS)—数据管理系统存储逻辑数据、流程、策略和各种其他类型的文档:Microsoft®Excel®电子表格MicrosoftWord文档这些文档可以转换为可用于分析的结构化数据。文档数据可公开为领域实体,或者数据改动和存储层可将它转换为领域实体。数据存储—数据存储包含企业数据仓库、操作数据库和事务数据库。此数据通常是结构化数据,可直接使用或轻松地转换来满足需求。这些数据不一定存储在分布式文件系统中,具体依赖于所处的上下文。智慧设备—智慧设备能够捕获、处理和传输使用最广泛的协议和格式的信息。这方面的示例包括智能电话、仪表和医疗设备。这些设备可用于执行各种类型的分析。绝大多数智慧设备都会执行实时分析,但从智慧设备传来的信息也可批量分析。聚合的数据提供程序—这些提供程序拥有或获取数据,并以复杂的格式和所需的频率通过特定的过滤器公开它。每天都会产生海量的数据,它们具有不同的格式,以不同的速度生成,而且通过各种数据提供程序、传感器和现有企业提供。其他数据源—有许多数据来自自动化的来源:地理信息:地图地区详细信息位置详细信息经济热点详细信息(工农业旅游交通教育医疗金融等等)人类生成的内容:社交媒体电子邮件博客在线信息传感器数据:环境:天气、降雨量、湿度、光线电气:电流、能源潜力等导航装置电离辐射、亚原子粒子等靠近、存在等位置、角度、位移、距离、速度、加速度声音、声震动等汽车、运输等热量、热度、温度光学、光、成像、见光度化学压力流动、流体、速度力、密度级别等来自传感器供应商的其他数据大数据存储层因为传入的数据可能具有不同的特征,所以数据改动和存储层中的组件必须能够以各种频率、格式、大小和在各种通信渠道上读取数据:数据获取—从各种数据源获取数据,并将其发送到数据整理组件或存储在指定的位置中。此组件必须足够智能,能够选择是否和在何处存储传入的数据。它必须能够确定数据在存储前是否应改动,或者数据是否可直接发送到业务分析层。数据整理—负责将数据修改为需要的格式,以实现分析用途。此组件可拥有简单的转换逻辑或复杂的统计算法来转换源数据。分析引擎将会确定所需的特定的数据格式。主要的挑战是容纳非结构化数据格式,比如图像、音频、视频和其他二进制格式。分布式数据存储—负责存储来自数据源的数据。通常,这一层中提供了多个数据存储选项,比如分布式文件存储(DFS)、云、结构化数据源、NoSQL等。分析层这是从数据中提取业务洞察的层:分析层实体识别—负责识别和填充上下文实体。这是一个复杂的任务,需要高效的高性能流程。数据整理组件应为这个实体识别组件提供补充,将数据修改为需要的格式。分析引擎将需要上下文实体来执行分析。分析引擎—使用其他组件(具体来讲,包括实体鉴别、模型管理和分析算法)来处理和执行分析。分析引擎可具有支持并行处理的各种不同的工作流、算法和工具。模型管理—负责维护各种统计模型,验证和检验这些模型,通过持续培训模型来提高准确性。然后,模型管理组件会推广这些模型,它们可供实体识别或分析引擎组件使用。使用层这一层使用了从分析应用程序获取的业务洞察。分析的结果由组织内的各个用户和组织外部的实体(比如客户、供应商、合作伙伴和提供商)使用。此洞察可用于针对客户提供产品营销信息。例如,借助从分析中获取的洞察,公司可以使用客户偏好数据和位置感知,在客户经过通道或店铺时向他们提供个性化的营销信息。该洞察可用于检测欺诈,实时拦截交易,并将它们与使用已存储在企业中的数据构建的视图进行关联。在欺诈性交易发生时,可以告知客户可能存在欺诈,以便及时采取更正操作。此外,可以根据在数据改动层完成的分析来触发业务流程。可以启动自动化的步骤—例如,如果客户接受了一条可自动触发的营销信息,则需要创建一个新订单,如果客户报告了欺诈,那么可以触发对信用卡使用的阻止。分析的输出也可由推荐引擎使用,该引擎可将客户与他们喜欢的产品相匹配。推荐引擎分析可用的信息,并提供个性化且实时的推荐。使用层还为内部用户提供了理解、找到和导航企业内外的链锁信息的能力。对于内部使用者,为业务用户构建报告和仪表板的能力使得利益相关者能够制定精明的决策并设计恰当的战略。为了提高操作有效性,可以从数据中生成实时业务警告,而且可以监视操作性的关键绩效指标:交易拦截器—此组件可实时拦截高容量交易,将它们转换为一种容易被分析层理解的实时格式,以便在传入数据上执行实时分析。事务拦截器应能够集成并处理来自各种来源的数据,比如传感器、智能仪表、麦克风、摄像头、GPS设备、ATM和图像扫描仪。可以使用各种类型的适配器和API来连接到数据源。也可以使用各种加速器来简化开发,比如实时优化和流分析,视频分析,银行、保险、零售、电信和公共运输领域的加速器,社交媒体分析,以及情绪分析。业务流程管理流程—来自分析层的洞察可供业务流程执行语言(BPEL)流程、API或其他业务流程使用,通过自动化上游和下游IT应用程序、人员和流程的功能,进一步获取业务价值。实时监视—可以使用从分析中得出的数据来生成实时警告。可以将警告发送给感兴趣的使用者和设备,比如智能电话和平板电脑。可以使用从分析组件生成的数据洞察,定义并监视关键绩效指标,以便确定操作有效性。实时数据可从各种来源以仪表板的形式向业务用户公开,以便监视系统的健康或度量营销活动的有效性。报告引擎—生成与传统商业智能报告类似的报告的能力至关重要。用户可基于从分析层中得到的洞察,创建临时报告、计划的报告或自助查询和分析。推荐引擎—基于来自分析层的分析结果,推荐引擎可向购物者提供实时的、相关的和个性化的推荐,提高电子商务交易中的转换率和每个订单的平均价值。该引擎实时处理可用信息并动态地响应每个用户,响应基于用户的实时活动、存储在CRM系统中的注册客户信息,以及非注册客户的社交概况。可视化和发现—数据可跨企业内外的各种联邦的数据源进行导航。数据可能具有不同的内容和格式,所有数据(结构化、半结构化和非结构化)可组合来进行可视化并提供给用户。此能力使得组织能够将其传统的企业内容(包含在企业内容管理系统和数据仓库中)与新的社交内容(例如tweet和博客文章)组合到单个用户界面中。垂直层影响逻辑层(大数据来源、数据改动和存储、分析和使用层)的所有组件的各方面都包含在垂直层中:信息集成大数据治理系统管理服务质量信息集成大数据应用程序从各种数据起源、提供程序和数据源获取数据,并存储在HDFS、NoSQL和MongoDB等数据存储系统中。这个垂直层可供各种组件使用(例如数据获取、数据整理、模型管理和交易拦截器),负责连接到各种数据源。集成将具有不同特征(例如协议和连接性)的数据源的信息,需要高质量的连接器和适配器。可以使用加速器连接到大多数已知和广泛使用的来源。这些加速器包括社交媒体适配器和天气数据适配器。各种组件还可以使用这一层在大数据存储中存储信息,从大数据存储中检索信息,以便处理这些信息。大多数大数据存储都提供了服务和API来存储和检索该信息。大数据治理数据治理涉及到定义指南来帮助企业制定有关数据的正确决策。大数据治理有助于处理企业内或从外部来源传入的数据的复杂性、量和种类。在将数据传入企业进行处理、存储、分析和清除或归档时,需要强有力的指南和流程来监视、构建、存储和保护数据。除了正常的数据治理考虑因素之外,大数据治理还包含其他因素:管理各种格式的大量数据。持续培训和管理必要的统计模型,以便对非结构化数据和分析进行预处理。请记住,设置处理非结构化数据时的重要一步。为外部数据设置有关其保留和使用的策略和合规性制度。定义数据归档和清除策略。创建如何跨各种系统复制数据的策略。设置数据加密策略。服务质量层此层复杂定义数据质量、围绕隐私和安全性的策略、数据频率、每次抓取的数据大小和数据过滤器:数据质量完整地识别所有必要的数据元素以可接受的新鲜度提供数据的时间轴依照数据准确性规则来验证数据的准确性采用一种通用语言(数据元组满足使用简单业务语言所表达的需求)依据数据一致性规则验证来自多个系统的数据一致性在满足数据规范和信息架构指南基础上的技术符合性围绕隐私和安全的策略

需要策略来保护敏感数据。从外部机构和提供程序获取的数据可能包含敏感数据(比如Facebook用户的联系信息或产品定价信息)。数据可以来源于不同的地区和国家,但必须进行相应的处理。必须制定有关数据屏蔽和这类数据的存储的决策。考虑以下数据访问策略:数据可用性数据关键性数据真实性数据共享和发布数据存储和保留,包括能否存储外部数据等问题。如果能够存储数据,数据可存储多长时间?可存储何种类型的数据?数据提供程序约束(政策、技术和地区)社交媒体使用条款(参见

参考资料)数据频率

提供新鲜数据的频率是多少?它是按需、连续还是离线的?抓取的数据大小

此属性有助于定义可抓取的数据以及每次抓取后可使用的数据大小。过滤器

标准过滤器会删除不想要的数据和数据中的干扰数据,仅留下分析所需的数据。系统管理系统管理对大数据至关重要,因为它涉及到跨企业集群和边界的许多系统。对整个大数据生态系统的健康的监视包括:管理系统日志、虚拟机、应用程序和其他设备关联各种日志,帮助调查和监视具体情形监视实时警告和通知使用显示各种参数的实时仪表板引用有关系统的报告和详细分析设定和遵守服务水平协议管理存储和容量归档和管理归档检索执行系统恢复、集群管理和网络管理策略管理

功能应用前面提到的技术架构的这些层定义了各种组件,并对它们进行分类,这些组件必须处理某个给定业务用例的功能性和非功能性需求。本文基于层和组件的概念,介绍了解决方案中所用的典型原子模式和复合模式。通过将所提出的解决方案映射到此处提供的模式,让用户了解需要如何设计组件,以及从功能角度考虑,应该将它们放置在何处。模式有助于定义大数据解决方案的架构。利用原子模式和复合模式可以帮助进一步完善大数据解决方案的每个组件的角色和责任。 原子模式对于大数据上下文中经常出现的问题,原子模式

有助于识别数据如何是被使用、处理、存储和访问的。它们还有助于识别所需的组件。访问、存储和处理来自不同数据源的多种数据需要不同的方法。每种模式都用于满足特定的需求:例如,可视化、历史数据分析、社交媒体数据和非结构化数据的存储。可以将多种原子模式结合使用,组成一个复合模式。这些原子模式没有进行分层或排序。例如,可视化模式可以与社交媒体的数据访问模式直接交互,可视化模式还可以与高级分析处理模式进行交互。数据使用组件这种类型的模式处理使用数据分析结果的各种方式。数据使用模式可以满足几个需求。可视化组件可视化数据的传统方式以图表、仪表板和摘要报告为基础。这些传统的方法并不总是用来可视化数据的最佳方式。大数据可视化的典型需求(包括新出现的需求)如下所示:执行流数据的实时分析和显示基于上下文,以交互方式挖掘数据执行高级搜索,并获得建议并行可视化信息获得先进的硬件,支持未来的可视化需求正在进行研究,以确定人类和机器如何使用大数据洞察。这些挑战包括所涉及的数据量,并且需要将数据与上下文相关联。必须在适当的上下文中显示洞察。可视化数据的目的是为了更容易、更直观地使用数据,因此报告和仪表板可能提供全高清的观看效果和3-D互动视频,并且可以为用户提供使用应用程序控制业务活动和结果的能力。即席发现组件创建满足所有业务需求的标准报告往往是不可行的,因为企业的业务数据查询会有不同的需求。用户在查找特定信息时,可能需要获得根据问题的上下文执行即席查询的能力。即席分析可以帮助数据专家和关键业务用户了解业务数据的行为。即席处理中涉及的复杂性来自多种因素:多个数据源可用于相同的域。单一的查询可以有多个结果。输出可以是静态的,并具有多种格式(视频、音频、图形和文本)。输出可以是动态和交互式的。数据转储组件在大数据的初步探索中,许多企业选择使用现有的分析平台来降低成本,并依赖于现有的技能。加强现有的数据存储有助于拓宽可用于现有分析的数据的范围,包括驻留在组织边界内外的数据,比如社交媒体数据,它可以丰富主数据。通过拓宽数据范围,使之包含现有存储中的新事实表、维度和主数据,并从社交媒体获取客户数据,组织可以获得更深入的客户洞察。但要牢记的是,新的数据集通常比较大,而现有的提取、转换和加载工具可能不足以处理它。您可能需要使用具有大规模并行处理能力的高级工具来解决数据的数量、多样性、真实性和速度特征。信息推送/通知组件大数据洞察使人类、企业和机器可以通过使用事件通知而立即采取行动。通知平台必须能够处理及时发送出去的预计数量的通知。这些通知与大量邮件或群发短信不同,因为内容一般是特定于使用者的。例如,推荐引擎可以提供有关世界各地的庞大客户群的洞察,而且可以将通知发送给这样的客户。自动响应组件从大数据获得的业务洞察,可用于触发或启动其他业务流程或事务数据处理组件无论数据是处于静止状态还是在运动中,都可以处理大数据。具体情况取决于分析的复杂性,有可能不需要对数据进行实时处理。这种模式解决了对大数据进行实时、近实时或批量处理的方式。以下高级的大数据处理类别适用于大多数分析。这些类别通常也适用于基于RDBMS的传统系统。惟一的区别是庞大规模的数据、多样性和速度。在处理大数据时,要使用机器学习、复杂事件处理、事件流处理、决策管理和统计模型管理等技术。历史数据分析组件传统的历史数据分析仅限于预定义的数据时间段,这通常取决于数据保留策略。由于处理和存储的限制,超出此时间段的数据通常会被归档或清除。基于Hadoop的系统和其他等效的系统可以克服这些限制,因为它们具有丰富的存储以及分布式大规模并行处理能力。运营、业务和数据仓库的数据被移动到大数据存储,您通过使用大数据平台功能对它们进行处理。历史分析包括分析给定时间段、季节组合和产品的历史趋势,并与最新的可用数据进行比较。为了能够存储和处理如此庞大的数据,您可以使用HDFS、NoSQL、SPSS®和InfoSphere®BigInsights™。高级分析组件大数据提供了很多实现创意洞察的机会。不同的数据集可以在多种上下文中存在关联。发现这些关系需要创新的复杂算法和技术。高级分析包括预测、决策、推理过程、模拟、上下文信息标识和实体解析。高级分析的应用包括生物统计数据分析(例如,DNA分析)、空间分析、基于位置的分析、科学分析、研究,等等。高级分析要求大量的计算来管理大量的数据。数据专家可以指导您识别合适的技术、算法和数据集,以及在给定上下文中解决问题所需的数据源。比如SPSS、InfoSphereStreams和InfoSphereBigInsights等工具提供了这类功能。这些工具访问存储在大数据存储系统(比如BigTable、HBase,等等)中的非结构化数据和结构化数据(例如,JSON数据)。预处理原始数据组件大数据解决方案主要由基于MapReduce的Hadoop系统和技术组成,MapReduce是开箱即用的分布式存储和处理解决方案。然而,从非结构化数据提取数据(例如,图像、音频、视频、二进制提要,甚至是文本)是一项复杂的任务,需要具有机器学习能力并掌握自然语言处理等技术。另一个主要挑战是如何验证这些技术和算法的输出的准确度和正确性。要对任何数据执行分析,数据都必须是某种结构化格式。从多个数据源访问的非结构化数据可以按原样存储,然后被转化成结构化数据(例如JSON),并被再次存储到大数据存储系统中。非结构化文本可以转换成半结构化或结构化数据。同样,图像、音频和视频数据需要转换成可用于分析的格式。此外,使用预测和统计算法的高级分析的准确性和正确性取决于用来训练其模型的数据和算法的数量。下面的列表显示了将非结构化数据转换成结构化数据所需的算法和活动:文档和文本分类特征提取图像和文本分割关联特征、变量和时间,然后提取包含时间的值输出的准确度检查使用了混淆矩阵(confusionmatrix)等技术和其他手动活动数据专家可以帮助用户选择合适的技术和算法。即席分析组件处理大数据的即席查询所带来的挑战不同于对结构化数据执行即席查询时所面临的挑战,由于数据源和数据格式不是固定的,所以需要使用不同的机制来检索和处理数据。虽然大数据供应商可以处理简单的即席查询,但在大多数情况下,查询是复杂的,因为必须在运行时动态地发现数据、算法、格式和实体解析。所以需要利用数据专家和业务用户的专业知识来定义下列任务所需的分析:识别并发现计算和算法识别并发现数据源定义所需的可以由计算使用的格式对数据执行并行计算数据访问组件在大数据解决方案中,有许多数据源,还有很多访问数据的方式,本节将介绍最常见的几种。web和社交媒体访问组件Internet是提供许多目前可以获得的洞察的数据源。在几乎所有分析中,都会用到Web和社交媒体,但获得这种数据需要不同的访问机制。在所有数据源中,因为Web和社交媒体的多样性、速度和数量,所以Web和社交媒体是最为复杂的。网站大约有40-50个类别,每一个类别都需要使用不同的方式来访问数据。本节将列出这些类别,并介绍一些访问机制。从大数据的角度讲,高级的类别是商业站点、社交媒体站点,以及具有特定和通用组件的站点。有关的访问机制见图3。如果需要的话,在完成预处理后,可将所访问的数据存储在数据存储中。Web和社交媒体访问需要执行以下步骤来访问Web媒体信息。图大数据访问步骤非结构化数据存储中的Web媒体访问步骤A-1.爬网程序读取原始数据。步骤A-2.数据被存储在非结构化存储中。Web媒体访问为结构化存储预处理数据步骤B-1.爬网程序读取原始数据。步骤B-2.对数据进行预处理。步骤B-3.数据被存储在结构化存储中。Web媒体访问预处理非结构化数据步骤C-1.在极少数情况下,来自供应商的数据可以是非结构化数据。步骤C-2.对数据进行预处理。步骤C-3.数据被存储在结构化存储中。非结构化或结构化数据的Web媒体访问步骤D-1.数据供应商提供结构化或非结构化数据。步骤D-2.数据被存储在结构化或非结构化存储中。Web媒体访问预处理非结构化数据步骤E-1.不能使用在存储时未经过预处理的非结构化数据,除非它是结构化格式的数据。步骤E-2.对数据进行预处理。步骤E-3.经过预处理的结构化数据被存储在结构化存储中。如图所示,数据可以直接存储在存储器中,或者可以对它们进行预处理,并将它们转换成一个中间格式或标准格式,然后再存储它们。在可以分析数据之前,数据格式必须可用于实体解析或用于查询所需数据。这种经过预处理的数据可以存储在一个存储系统中。虽然预处理通常被认为是微不足道的,但这项处理可能非常复杂和耗时。物联网设备数据的访问组件设备生成的内容包括来自传感器的数据数据是从天气信息、电气仪表和污染数据等数据来源检测到的,并且由传感器捕获。这些数据可以是照片、视频、文本和其他二进制格式。下图说明了处理机器生成的数据的典型过程。图5.设备生成的数据访问图5说明了访问来自传感器的数据的过程。由传感器捕获的数据可以发送到设备网关,设备网关会对数据执行一些初始预处理,并缓冲高速数据。机器生成的数据大多为二进制格式(音频、视频和传感器读数)或文本格式。这样的数据最初可以存储在存储系统中,也可以对它们进行预处理,然后再存储它们。对于分析来说,要求执行预处理。基础数据(观测数据和生产数据)的访问模式可以存储现有的事务、运营和仓库数据,避免清除或归档数据(因为存储和处理的限制),或减少在数据被其他使用者访问时对传统存储的负载。对于大多数企业而言,事务、运营、主数据和仓库信息都是所有分析的核心。如果用在Internet上,或者通过传感器和智能设备提供的非结构化数据以及外部数据来增强此数据,那么可以帮助组织获得准确的洞察,并执行高级分析。使用由多个数据库厂商提供的标准连接器,事务和仓库数据可以被推入存储。预处理事务性数据要容易得多,因为数据大多是结构化的。可以使用简单的提取、转换和加载流程将事务数据移动到存储中。事务数据可以很容易地转换成JSON和CSV等格式。使用Sqoop等工具可以更容易将事务数据推入存储系统,如HBase和HDFS。数据存储组件存储模式有助于确定适当的存储各种数据的类型和格式。数据可以按原样存储,根据键值对存储,或者以预定义的格式存储。分布式文件系统(如GFS和HDFS)都能够存储任何类型的数据。但是,高效地检索或查询数据的能力会影响性能。技术的选择很重要。分布式非结构化数据存储组件大部分大数据是非结构化数据,而且可以通过不同的方式针对不同的上下文提取它所拥有的信息。大多数时候,非结构化数据必须按原样并以其原始格式进行存储。这样的数据可以存储在分布式文件系统(如HDFS)和NoSQL文档存储(如MongoDB)中。这些系统提供了检索非结构化数据的有效方法。分布式结构化数据存储组件结构化数据包括从数据源到达的已经是结构化格式的数据,以及经过预处理,被转换为JSON数据等格式的非结构化数据。必须存储已经过转换的数据,避免从原始数据到结构化数据的频繁数据转换。可以使用Google的BigTable等技术来存储结构化数据。BigTable是一个大规模容错式自我管理系统,包括TB级的内存和PB级的存储。Hadoop中的HBase可媲美BigTable。它使用了HDFS作为底层存储。传统数据存储组件对于存储大数据而言,传统的数据存储并不是最佳选择,但在企业执行初步数据探索的情况下,企业可能会选择使用现有的数据仓库、RDBMS系统和其他内容存储。这些现有的存​​储系统可用来存储使用大数据平台消化和过滤的数据。不要认为传统的数据存储系统适用于大数据。云存储组件许多云计算基础架构供应商都有分布式结构化、非结构化的存储能力。从传统的配置、维护、系统管理、编程和建模角度讲,大数据技术有点不同。此外,实现大数据解决方案所需的技能既罕见又昂贵。探索大数据技术的企业可以使用云解决方案来提供大数据的存储、维护和系统管理。要存储的数据往往是敏感数据,这些数据包括医疗记录和生物特征数据。您需要考虑数据安全性、数据共享、数据治理,以及有关数据的其他政策,在考虑将云作为大数据存储库的时候尤其如此。传输大量数据的能力也是云存储的另一个重要考虑因素。复合模式原子模式

侧重于提供执行各项功能所需的能力。但是,复合模式

是基于端到端的解决方案进行分类的。每个复合模式都要考虑一个或多个维度。在将复合模式应用到每个模式时,会有许多变化。可以将复合模式映射到一个或多个原子模式,以解决某个给定的业务问题。本文所述的复合模式列表是基于经常发生的典型业务问题,但这不是复合模式的完整列表。存储和探索复合组件如果业务问题需要存储大量新数据和现有数据,而且先前由于缺乏足够的存储和分析能力而一直未使用这些数据,那么这种模式就非常有用。该模式旨在缓解对现有数据存储的负载。所存储的数据可用于初始勘探和即席发现。用户可以推演报告,通过进一步的处理来分析数据的质量和价值。您可以使用ETL工具来预处理和净化原始数据,然后再进行任何类型的分析。图6.存储和探索复合模式图6说明了这种模式的多个维度。数据的使用目的可能只是存储它,或处理和使用它。仅存储的示例是,数据的获取和存储只是为了将来能够满足合规性或法律的要求。在处理和使用的情况下,分析的结果可以被处理和使用。可以从最近发现的来源或从现有的数据存储访问数据。专业分析和预测分析组件使用此模式的情况是,使用多种处理技术执行分析,因此,可以用新洞察丰富现有数据,或创建可由各种用户使用的输出。该分析可以在事件发生的同时实时发生,或使用批量模式,根据收集到的数据获得洞察。作为可以分析的静态数据的示例,某电信公司可能构建客户流失模型,包括分析呼叫数据记录、社交数据和事务数据。作为分析运动数据的示例,预测某个给定事务正在经历欺诈的需求必须实时或近实时地发生。图7.专用和预测分析复合模式图7说明了这种模式的多个维度。所执行的处理可以是标准的或预测性的,并且可以包括决策。此外,可以将通知发送给与特定任务或消息有关的系统或用户。该通知可以使用可视化功能。该处理可实时发生或以批量模式发生。OLAP在线分析大数据解决方案的最高级形式是,对数据集执行分析,并且基于可重复的过去的行动或行动矩阵来暗示行动。该操作可以是手动、半自动或全自动的。基础分析需要高度准确。行动是预定义的,分析的结果被映射到行动。可操作分析中所涉及的典型步骤是:分析数据以获得洞察。制定决策。激活相应的渠道,对正确的使用者采取行动。图8.可操作的分析复合模式图8说明该分析可以是手动、半自动或全自动的。如图中的说明所示,它使用了原子模式。手动操作

意味着系统基于分析的结果来提供建议操作,并由人类决定和执行操作。半自动

意味着,分析建议操作,但不需要通过人类干预来启动操作,或从一组建议的操作中进行选择。全自动

表示在决策之后,系统立即执行操作。例如,在设备被预测会发生故障之后,系统可以自动创建一个工作订单。原子模式和符合模式的映射下面的矩阵显示了如何将原子模式映射到复合模式,复合模式是原子模式的组合。每个复合模式都被设计为针对具有一组特定特征的数据在特定情况下使用。矩阵显示了模式的典型组合。必须对模式进行调整,以满足特定的情况和需求。在矩阵中,按照从最简单到最复杂的顺序列出了复合模式。“storeandexplore(存储和探索)”模式是最简单的。图9.复合模式对原子模式的映射图10.将原子模式映射到架构层解决方案模式(模拟应用场景)技术架构实现方案概述技术架构的关键问题hadoop此方案基于开源Apache

Hadoop的框架实现。因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上数据库此方案实际上是综合利用传统数据库/数据仓库、NOSQL等多种数据库组合。传统的数据库/数据仓库用于存储结构化和半结构化的数据,NOSQL数据库用于存储非结构化的数据。之所以选择组合的多数据库并存方案,主要是考虑到气象行业的数据存储现状比较复杂,在大叔据项目实施过程中很多分析是需要传统数据和文件分析同时进行的。另外,从NOSQL数据到数据仓库需要一个缓冲处理。当然,这种混合使用的方案会要求大量的ETL过程来进行数据的转换和存储。流计算在传统的数据分析策略中,数据被收集到一个数据库中,并被搜索或查询答案。这种分析方法更多地依赖于数据库平台的资源。Streams

计算软件,这是一个突破性的移动数据分析平台。流计算动态收集多个数据流,使用先进的算法来提供近乎瞬时的分析。,流计算颠覆了这种策略,可用于需要立即作出决定的复杂动态情况。数据库功能支持开发及应用接口平台对外提供各种开发接口,包括完全兼容Hadoop生态圈开源各个组件API接口,REST访问接口包括WebHDFS以及StarGate/HBaseREST接口;同时通过支持SQL2003标准以及PL/SQL,提供JDBC/ODBC接口,能够使传统业务场景向大数据平台上进行平滑迁移,并且平滑支持第三方BI报表工具,支持提供标准JDBC4.0(包括JDBCtype4driver)、ODBC3.5驱动,ODBC驱动兼容linux、windows(32位或64位)。此外,大数据平台为数据挖掘提供JavaAPI以及R语言接口。通过接口,用户可以直接使用R语言与SQL进行交互式数据挖掘探索,同时可以通过平台开放的API进行二次开发,通过JDBC/ODBC接口给上层应用进行SQL查询。此外,SQL中还包含了基础的并行统计挖掘算法库的JavaAPI,用户可以通过并行算法库进行数据挖掘的二次开发。平台提供的主要开发接口详细描述如下:数据接口接口描述接口使用对象ODBC/JDBC接口在应用中可以通过ODBC/JDBC连接字连接到SQL上层应用开发人员BI报表工具WebHDFS接口提供REST的方式访问HDFS上层应用开发人员StarGate接口提供REST的方式访问HBase上层应用开发人员核心组件API接口提供各个组件API编程接口上层应用开发人员数据挖掘开发人员R接口提供RStudioWeb图形化开发界面,通过R语言调用并行算法库,并可通过并行化算子二次开发并行化算法。数据挖掘开发人员SQL语法兼容性SQL提供ANSISQL2003语法支持以及SQLServer语法及Oracle存储过程语言扩展,并且可以自动识别HiveQL、SQL2003、SQLServer和PL/SQL语法,在保持跟Hive兼容的同时提供更强大的SQL支持。支持标准的SQL形式访问数据。可以支持标准SQL以及PL/SQL,支持复杂的数据仓库类分析应用,使得从原有数据库系统迁移到Hadoop更为容易,可以帮助企业建立高速可扩展的数据仓库和数据集市。SQL支持以下SQL要求:支持创建数据库、删除数据库、配置数据库的容量支持创建表、删除表、增加表字段支持创建、修改、删除视图CREATE/DROP/ALERTVIEW支持表数据类型包括所有的结构化数据类型如整形、字符串、浮点型、布尔型、二进制、时间类型等,文档数据类型如XML,JSON,BSON,以及针对图片类文件的LOB类型;支持创建索引、删除索引;支持所有类型的表的连接,支持表的集合运算包括求并集、求交集、求差集,支持多层的SQL嵌套查询,支持IN/NotIN/Exists/NotExists等复杂查询支持字符串、日期等常用操作函数支持最大值、最小值、平均值等聚合函数,支持常用Oracle函数,支持selectinto、insertinto、mergeinto功能支持完整的增删改语法,具体包括支持单条或者多条插入,支持单条更新和用子查询更新,支持从表中删除数据,支持MergeInto功能。支持子查询(sub-queryfactoring),包括非同步子查询(Non-correlatedSub-query)和同步子查询(CorrelatedSub-query),支持子查询的多层嵌套。支持在whereclause子句使用同步和非同步subquery(包括IN和NOTIN)支持在Fromclause子句中使用非同步subquery支持Havingclause子句使用非同步subquery支持Selectlist里面使用同步和非同步subquery支持WITHAS语法,并可在系统运行中实时决定是否选择物理化WITHAS来加速查询支持InnerJOIN,OuterJOIN(LeftOuterJOIN,RightOuterJOIN,FullOuterJOIN),ImplicitJOIN,NatureJOIN,CrossJOIN,SELFJOIN,Non-equiJOIN(JOIN条件可以是不等式),MapJOIN,leftsemijoin和leftantisemijoin支持union,intersect,except操作,并且他们可以作为topleveloperator支持in、between以及运算符(+-*)直接操作subquery具备较完整的事务处理支持(包括嵌套事务),支持BEGINTRANSACTION,ENDTRANSACTION,COMMIT,ROLLBACK操作,支持自治事务支持基于预定义维度的数据查询,支持简单查询、组合查询、模糊查询等。支持标准DDL,DML,事务处理,支持SQL2003等,支持SQL子查询及窗口函数。支持基本数据类型、复杂数据类型、withas子句、同步子查询、相关子查询、嵌套子查询,窗口函数、聚合函数、类型转换、集合函数、操作符、OraclePL/SQL过程扩展,HiveQL。支持数据累加、统计、关联、比对、去重等各种常见的数据分析场景。支持标准SQL的方式来访问Hadoop生态系统中的其他组件模块,如Hive、Hbase、hdfs中的文件,并能跨数据源做关联查询和分析。平台全面支持HiveQL、SQL2003标准等,可以有效支持数据仓库中常用的数据立方统计(CUBE/ROLLUP)、窗口聚合统计、嵌套(nested)/同步(correlated)子查询、子表定义和操作,这些功能无法用HiveQL有效实现。平台提供了对SQL2003标准最全面的支持,最大程度方便用户开发基于Hadoop平台的应用和现有应用的迁移。生命周期管理功能在大数据时代,对于海量数据应该考虑数据的分级存储方案以节约存储成本。通常,我们会把数据分为热数据,在线数据,近线数据和归档数据。不同的数据种类的应用和处理会有不同的需求。对于热数据和在线数据,更多的需要考虑应用在使用数据时的高效性,SQL用ssd的技术来加速热数据处理。对于近线数据,由于应用存取的需求相比热数据和在线数据大大减少,主要需要保证数据存储的可靠性,并考虑如何在保证可靠性的基础上能尽量减少副本以节约存储空间。热数据可以根据应用需求,将经常需要进行分析的热数据从HDFS或者HBase中加载到SQL中的SSD中。通过内存加速分析,在秒级别响应,对数据进行交互式探索挖掘。此外内存数据库还具备了通过R语言或者JAVAAPI对内存数据库中内容进行数据挖掘的能力。冷数据冷数据可以使用HDFS中ErasureCode功能进行降低副本。ErasureCode可配置策略,指定HDFS中目录,通过RaidServer监控,在指定生命周期后将指定目录下的文件降低其副本数为1,并由10个数据块生成4个冗余校验块的,将3倍存储开销降低到1.4倍,并且在数据可靠性方面,ErasureCode在14个数据块中可容忍任意4个块丢失,比3份冗余存储可容忍2份数据块丢失更可靠。冷数据可使用ErasureCode自动降低存储开销。一个典型的应用场景如:数据在导入HDFS后的一段时间内访问频繁,在一段时间后访问频率降低甚至正常状态下不访问。可以通过设置该数据的冷却时间,当这些数据到达冷却时间后,会自动触发降副本的进程。表分区功能为了提升海量数据查询性能,提供表分区功能。支持对表的单值分区和范围分区。为一张表分区:在物理上,将表中的数据按分区放在表目录下的对应子目录中,一个分区对应一个子目录;在逻辑上,分区表和未分区表没有区别。分区在创建表时完成,也可以通过ALTERTABLE来添加或者删除。关于分区的建议,分区的目的是减少扫描成本。所以单个分区的大小和总分区数目都应该控制在合理范围内。使用多层分区带来的直接问题是总分区个数过多,因为总分区个数是所有分区键对应分区个数的乘积。所以我们建议尽量减少使用多层分区对于时间、日期一类的值,使用单值分区会导致分区过多。推荐使用范围分区(RANGEPARTITION)。范围分区可以灵活控制分区的数量,并可根据数据本身的特点使得各个分区的大小也控制在合理范围内,从而使得应用性能得到保证。另外,有很多以往在Oracle系统上的应用都是采取的范围分区,对范围分区的支持也能使得原有应用程序的迁移更加简单。表压缩功能在SQL中对中间数据或最终数据做压缩,是提高数据吞吐量和性能的一种手段。对数据做压缩,可以大量减少磁盘的存储空间,比如基于文本的数据文件,压缩比可达三倍以上,同时压缩后的文件在磁盘间传输和I/O也会大大减少。目前SQL使用hive存储格式,并支持Snappy等多种压缩算法。支持对表按照压缩比例进行及时透明压缩。数据压缩后支持查询、修改、插入、删除,此过程中无需解压。大表索引管理目前HBase主要应用在结构化和半结构化的大数据存储上,在逻辑上,HBase的表数据按RowKey进行字典排序,RowKey实际上是数据表的一级索引(PrimaryIndex),由于HBase本身没有二级索引(SecondaryIndex)机制,基于索引检索数据只能单纯地依靠RowKey,为了能支持多条件查询,开发者需要将所有可能作为查询条件的字段一一拼接到RowKey中,这是HBase开发中极为常见的做法,但是无论怎样设计,单一RowKey固有的局限性决定了它不可能有效地支持多条件查询。受限于单一RowKey在复杂查询上的局限性,基于二级索引(SecondaryIndex)的解决方案成为最受关注的研究方向。为解决这一问题,HBase在索引支持上做了重大的完善和加强。使用索引的时候,支持数据在已创建索引的情况下导入数据,避免数据导入完毕后再创建索引的时间窗口。数据导入与导出Sqoop支持Oracle11g、IBMDB2、MySQL、PostgreSQL等数据库。常用Sqoop将表从关系数据库中全部拷贝到Hadoop中。Sqoop导入过程是分布式的,并支持全量以及增量式导入。Sqoop作为Map/Reduce客户端,自动生成Map-Reduce任务,提交给Hadoop集群进行分布式并行数据抽取。Sqoop支持将数据导入到HDFS,SQL和HBase,或者从HDFS,SQL或者HBase中导出到关系数据库。支持同步以及异步形式将文件批量导入数据表中。从关系型数据库中将数据导入到集群平台后,需要对入库后的数据与原先关系型数据库中的数据进行校验,以保证数据入库后的一致性。数据校验在导入到集群平台后或出账完成,对关系型数据库中当月单据表进行校验,检测单据表是否有变动,并从以下几方面进行验证:验证导入数据的表结构信息;验证原关系型数据库中与集群平台中表总记录条数是否一致;随机抽取号码,分别从原关系型数据库中与集群平台中获取该号码的所有单据,对记录数、单据的完整内容进行比对,判断是否一致;根据反馈的导入结果情况,如果出现错误会反馈出错信息。导入模式可支持批量模式和增量模式批量模式:批量模式用于在平台建设完成初期进行历史数据的迁移,将大量的基础数据和历史数据导入平台集群。可通过sqoop等ETL工具将数据导入到HDFS或HBase中;同样可通过bulkload工具将批量数据导入到HBase中;也可以直接将数据直接传入HDFS,其后可以通过建立外表的方式对数据进行分析。增量模式:增量模式用于上线后将指定周期时间间隔(如每天,每小时或每10分钟)内的数据导入平台,可通过sqoop的增量导入等模式进行。对于数据的导出支持SQL查询结果导出为文本文件,可以设定文件的格式(分隔符等)、大小、命名。为了保障导出效率,系统内所有节点并行导出。多级数据存储考虑到海量数据平台的特点,平台实现了多级数据存储的方式。根据数据使用的特点分别对应不同的存储技术。平台的多级存储包括,支持独立的分布式内存列式存储,支持内存/SSD缓存相结合的混合数据存储,支持常见的多副本磁盘存储,还支持低副本高容错的磁盘存储方式。多级数据存储技术中的ssd技术,结合上层高效稳定的SQL执行引擎,基于分布式内存列式存储的SQL执行比MapReduce框架快10~100倍,比开源的Spark快2~5倍。SQL将数据缓存在内存中,通过高效的内存计算达到快速扫描海量数据的目的。多级存储技术中ErasureCode功能可降低数据存储副本。ErasureCode可配置策略,指定HDFS中目录,通过RaidServer监控,在指定生命周期后将指定目录下的文件降低其副本数为1,并由10个数据块生成4个冗余校验块的,将3倍存储开销降低到1.4倍,并且在数据可靠性方面,ErasureCode在14个数据块中可容忍任意4个块丢失,比3份冗余存储可容忍2份数据块丢失更可靠。冷数据可使用ErasureCode自动降低存储开销。半结构化与非结构化数据支持HBase支持半结构化数据(JSON/BSON,XML形式存储)和非结构化数据例如纯文本,图片或者大对象的高效存取。由于越来越多的应用在考虑对半结构化数据,非结构化数据做查询,检索和分析,对这些数据存储的支持能简化应用程序的开发工作,同时的优化使得对这类数据的操作性能更高。全文数据处理HBase支持通过建立增量全文索引(全文索引首先会对记录做分词处理,再对分词结果做相应索引)对于全文关键字搜索达到秒级的返回。HBase提供了全文索引功能,支撑内容管理,实现文字等非结构化数据的提取和处理;提供增量创建全文索引的能力,可以实时搜索到新增的数据。安全可靠与运维能力提供极为方便的管理工具,易于用户进行数据平台的平台的安装、部署、配置、管理、监控、告警等应用,数据处理平台提供配套系统管理工具Manager,Manager管理工具提供以下功能:自动部署、状态监控、资源分配与管理、用户管理和权限管理、数据管理以及自动告警。资源管理独特的多租户架构能够使企业内部各部门之间安全地共享大数据资源平台,这种安全性主要表现在计算资源和数据资源的隔离。在资源隔离方面,YARN支持对计算资源和内存资源的管理能力,避免占用内存资源多的Spark或Map/Reduce集群之间争抢内存资源。对于数据资源的隔离,是物理隔离。首先数据统一存储在大数平台的文件系统上,平台管理员可以通过权限管理数据隔离,使得不同用户互不干扰地使用各自独立的数据。同时,管理员用户还可以通过设置Quota的大小来限制每个用户可以使用存储空间的大小。对于计算资源的隔离,是逻辑隔离。平台可以通过YARN对所有的计算资源进行统一管理,可以按需动态创建多个MapReduce分析集群或者SQL/Spark集群,每类业务或者每个部门可以使用一个独立的MapReduce或SQL/Spark分析集群,并且同时运行。缺省模式下集群就是创建在YARN上,可以非常方便的动态创建和销毁Spark或者Map/Reduce集群。对批量统计业务,可以在每月运行完成后动态销毁,从而节省计算资源,避免建立独立的物理集群造成浪费。这样方便灵活部署业务,适合对非7x24不间断业务(例如周期性统计业务)动态部署。因此,对于分析平台应用,可以充分使用Yarn的特性,实现分析集群的按需创建与销毁,从而帮助实现数据、资源、计算能力的统一调度和规划。YARN支持同时对计算资源(CPU核心)和内存资源的管理能力,避免占用内存资源多的Spark或Map/Reduce集群之间争抢内存资源。在申请资源配额后,如果当前用户的资源紧张或受限,还可以动态调配其他用户的闲置资源加入,当其他用户使用时再归还。平台中不仅能通过YARN实现资源在不同计算集群之间的隔离与共享,并且在一个SQL/Spark计算集群内部同样能实现计算资源在不同资源池(Pool)的共享与隔离,通过公平调度算法保证高优先级的Pool优先拿到闲置资源,同时每个Pool具有指定的资源保有量,避免高负载批处理业务占用全部计算资源。大数据平台基于YARN的资源调度框架,实现Spark和Map/Reduce集群,按需动态创建与销毁计算集群。为此,资源调度框架需要支持内存管理和CPU调度,也需要增加对Spark资源各种调度算法的支持,包括:1)指定Spark资源使用策略;2)根据指定策略实现CPU与内存的固定配额调度3)根据指定策略实现CPU与内存百分比的配额调度4)根据指定策略实现SparkExecutor在各个计算节点的分布5)根据指定策略实现SparkExecutor个数的限定6)根据指定策略实现SparkExecutor在具体哪些节点上启动7)可提供开放的API和分布式框架,允许用户灵活地开发所需的分析处理应用,而不局限于SQL或存储过程。支持通过公有云和私有云部署,对软件基于Docker技术的容器化部署提供了初步支持。 大数据平台通过一系列的性能优化,保证用户业务的高效运行。同时,平台具备快速开发能力,根据实际现场的业务需求无偿进行定制化开发。系统容错性平台的计算引擎SQL采用Spark架构,其对Spark进行了大量的改进,极大提高了Spark功能和性能的稳定性。Spark借助于新的计算容错思想,通过定义弹性数据集(ResilientDistributedDataset,简称RDD)来实现容错。RDD是一种数据结构的抽象,它封装了计算和数据依赖,数据可以依赖于外部数据或者其他RDD,RDD本身不拥有数据集,它只记录数据衍变关系的谱系,通过这种谱系实现数据的复杂计算变换,在发生错误后通过追溯谱系重新计算完成容错,如果计算的衍变谱系比较复杂,系统支持checkpoint来避免高代价的重计算发生。下图为RDD的lineage关系图,每个椭圆表示一个RDD,椭圆内的每个圆性表示该RDD的一个Partition。冷数据可以使用HDFS中ErasureCode功能进行降低副本。ErasureCode可配置策略,指定HDFS中目录,通过RaidServer监控,在指定生命周期后将指定目录下的文件降低其副本数为1,并由10个数据块生成4个冗余校验块的,将3倍存储开销降低到1.4倍,并且在数据可靠性方面,ErasureCode在14个数据块中可容忍任意4个块丢失,比3份冗余存储可容忍2份数据块丢失更可靠。冷数据可使用ErasureCode自动降低存储开销。一个典型的应用场景如:数据在导入HDFS后的一段时间内访问频繁,在一段时间后访问频率降低甚至正常状态下不访问。可以通过设置该数据的冷却时间,当这些数据到达冷却时间后,会自动触发降副本的进程。单点故障消除大数据集群能提供高可靠与高可用性保证,在集群中任意节点宕机的情况下,集群能稳定运行。分布式存储HDFS通过高可靠的NamenodeHA方案,保证HDFS的高可靠性,始终有一个Namenode做热备,防止单点故障问题。采用QJM的方式实现HA,文件系统元数据存储在高可靠的由JournalNode组成的集群上。通过HDFS的3副本机制,保证单个DataNode的宕机不会对整体分布式存储造成影响,HDFS在节点宕机导致副本丢失的情况下,会自动将副本重新恢复为3,并对上层应用透明。HBase通过多个HMaster实现高可靠与高可用,多个HMaster中只有1个HMaster作为ActiveHMaster,其余的HMaster作为热备的HMaster,当活跃的HMaster宕机时,热备的HMaster通过Zookeeper选举出新的活跃的HMaster,秒级切换,保证服务的高可靠与高可用。YARN采用两个ResourceManager保证集群资源调度管理的高可靠,一个ResourceManager作为Active的服务管理整个集群的CPU与内存资源调度,另一个作为热备的ResourceManager保证服务的高可靠。同时,SQL通过重算机制,保证计算节点的宕机不会影响正在运行的作业的正确性,使得节点的宕机仅仅会将该节点的计算子任务进行重新计算,对整体作业的运行与正确性不会造成影响。经过测试验证,在分布式存储角色NameNode宕机的情况下,热备StandbyNameNode在1s内完成切换,并对正在运行的作业的正确性没有造成任何影响。在计算存储节点宕机的情况下,正在运行的作业将该宕机节点上的计算子任务进行了重算,最终返回正确结果。容灾与备份对于异地容灾的数据备份以及恢复,对于不一样的场景需求,用户可以灵活地选择不同级别的容灾备份的方案。在HBase层面的数据,利用HBase的Replication机制,可以做到实时数据备份。数据写入的时候会通过WAL(Write-AheadLogging)机制在写入HBase之前先写入日志,然后通过解析日志实时同步进入灾备集群HBase,从而做到实时数据备份。在HDFS层面的数据,用户可以选择强一致性容灾备份或者弱一致性容灾备份。对于重要敏感数据,数据从客户端写入HDFS中,同时向两个集群写入数据,当两个集群都完成写入后,再开始一下个文件的写入。基于强一致性的容灾方式对于集群的写入性能会受到外部网络的延时的影响,写入性能会显著下降,所以仅对重要敏感数据进行强一致性备份。在数据的备份基础上,保证关键业务在灾备集群上有足够的资源,提供持续的稳定服务。而弱一致性的方案则是单位周期内(每小时、每天),基于HDFS的distcp机制,将写入的数据以增量备份的方式通过网络实现内容在异地机房的备份。基于弱一致性的容灾方式对于集群的运行效率几乎没有影响,数据备份也能得到保证,但是最后单位周期内写入的数据无法得到备份。在线扩容平台提供了强大的在线扩容功能,不需要宕机停库,不需要停止业务,就可以添加新的节点,实现扩容。节点添加完成之后可以立即对新添加的节点进行角色的分配,一旦配置成功,则新加的节点就会马上投入运算。扩容之后的数据节点也不需要停机进行数据重分布,系统自动选择空闲的时间进行数据的重新分布。HDFS将文件的数据块分配信息存放在NameNode服务器之上,文件数据块的信息分布地存放在DataNode服务器上。当整个系统容量需要扩充时,只需要增加DataNode的数量,系统会自动地实时将新的服务器匹配进整体阵列之中。之后,文件的分布算法会将数据块搬迁到新的DataNode之中,不需任何系统当机维护或人工干预。通过以上实现,HDFS可以做到在不停止服务的情况下实时地加入新的服务器作为分布式文件系统的容量升级,不需要人工干预文件的重新分布。大数据创新平台设计质控治理服务(云平台)各种调查数据质量是气象局业务成败的关键,对于数据质量的管控,“气象局云”平台从数据整合、数据预处理、资源入库、资源监控、资源利用等数据处理流程的各个环节入手,建立完善的数据生命周期管理与数据质量管控机制,是对数据从获取、清洗、转换、关联、存储、使用等生命周期的每个阶段里可能引发的各类数据质量问题,进行识别、度量、监控、预警等一系列质量管理的活动。数据质量管理是循环管理过程,其终极目标是通过可靠的数据,提升数据在气象局分析决策等业务中的使用价值。数据质量作为大数据平台的核心之一,具有多重属性,其基本质量特性主要包括:完整性、一致性、准确性和及时性等四个方面,要对数据质量进行较好地控制,就必须对数据的四个基本质量特性进行很好了解,从而在各个方面采取措施,杜绝数据质量问题的出现,使数据监控工作真正达到控制数据质量的目的。从上图看出,数据质量面向的是整个业务流程,从业务库到ETL再到数据仓库都可以通过用户自定义的数据质量规则进行管控。校验规则分为准确性、完整性和一致性三种,分别面向三种不同的校验方案。业务库和数据仓库中的已有数据可以直接进行在线质量规则校验。ETL过程中,可以通过质量规则定义提供的数据清洗服务进行数据的清洗。同时,两个或者多个数据源之间可以进行数据比对。用户可以通过选择比对数据源,自定义比对规则,进行在线数据比对。比对的结果可以反映出不同库的表与表之间的数据差异,进一步解决数据质量问题。数据质量校验的方式分为全部校验和抽样校验,执行方式分为手动执行和定时执行。质量规则质量规则分为两部分:规则列表和对象列表。通过这两部分可以正向和反向地进行数据质量校验。所谓的“正向”指的是先定义规则,在规则上选择数据目录与规则条件后,执行检测。“反向”指的是直接选中某个数据目录,进行数据质量校验。规则列表包括各个规则的名称、对象、级别、执行建议、操作等。可以通过规则树进行分类筛选,规则树包括准确性、完整性和一致性三种规则类型。质量规则是针对某个表中的某一列或者某几列定制的约束条件,所以每个规则都需要选择规则对象(数据目录),制定规则范围,规则范围包括约束项(列),约束值,过滤条件等。定制的规则可以选择建议处理方式(人工处理和定时处理),方便以后使用该规则进行质量检测时找到最佳的处理方式。规则的级别可以调整为普通、警告、严重三种级别,从而对不同的质量问题进行相关的报警。自动化监控数据流转通过以上的一系列数据比对及检测后,形成数据质量报告,形象具体的描述数据质量问题所在及处理情况,具体分为业务数据质量报告和技术数据质量报告。定期给相关负责人生成一份全过程的面向业务的数据质量报告,包括业务库的数据质量问题,ETL中的数据质量问题,数据仓库的数据质量问题等,详细罗列每个过程的数据质量问题的责任人、问题个数、已处理个数、未处理个数等。直观地反映这个阶段的数据质量问题。截图如下:数据比对为了保证同步后的数据库与源库的一致性,需要建立一系列的比对规则,来检验数据是否一致,一般来说都是采用增量比对的方式,这种方式可以减少重复比对的工作量,对于一些比对可以直接进行修复,有些比对可能需要通过发邮件进行通知方式告知用户,手动进行数据的修复。比对一般包括以下两种:数据分条比对:针对源库中的每条数据,将多个需要比对的列的值进行Hash(一般是那些在ETL转化中没有进行处理的列),比对两个库中数据相应的Hash值是否一致,如果不一致,可以选择自动和手动两种模式进行修复,使数据达到一致。计算气象局比对,主要包括

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论