袋鼠云的数字乡村大数据平台建设架构是什么样的?

5863℃ KIMBERLY

袋鼠云的数字乡村大数据平台建设架构是什么样的?

大数据架构和模式是怎么样的!yunmar想知道下?

大数据解决方案的逻辑层

逻辑层提供了一种组织您的组件的方式。这些层提供了一种方法来组织执行特定功能的组件。这些层只是逻辑层;这并不意味着支持每层的功能在独立的机器或独立的进程上运行。大数据解决方案通常由以下逻辑层组成:

大数据来源

数据改动 (massaging) 和存储层

分析层

使用层

大数据来源:考虑来自所有渠道的,所有可用于分析的数据。要求组织中的数据科学家阐明执行您需要的分析类型所需的数据。数据的格式和起源各不相同:

格式— 结构化、半结构化或非结构化。

速度和数据量— 数据到达的速度和传送它的速率因数据源不同而不同。

收集点— 收集数据的位置,直接或通过数据提供程序,实时或以批量模式收集数据。数据可能来自某个主要来源,比如天气条件,也有可能来自一个辅助来源,比如媒体赞助的天气频道。

数据源的位置— 数据源可能位于企业内或外部。识别您具有有限访问权的数据,因为对数据的访问会影响可用于分析的数据范围。

数据改动和存储层:此层负责从数据源获取数据,并在必要时,将它转换为适合数据分析方式的格式。例如,可能需要转换一幅图,才能将它存储在 Hadoop Distributed File System (HDFS) 存储或关系数据库管理系统 (RDBMS) 仓库中,以供进一步处理。合规性制度和治理策略要求为不同的数据类型提供合适的存储。

分析层:分析层读取数据改动和存储层整理 (digest) 的数据。在某些情况下,分析层直接从数据源访问数据。设计分析层需要认真地进行事先筹划和规划。必须制定如何管理以下任务的决策:

生成想要的分析

从数据中获取洞察

找到所需的实体

定位可提供这些实体的数据的数据源

理解执行分析需要哪些算法和工具。

使用层:此层使用了分析层所提供的输出。使用者可以是可视化应用程序、人类、业务流程或服务。可视化分析层的结果可能具有挑战。有时,看看类似市场中的竞争对手是如何做的会有所帮助。

    每一层包含多种组件类型,下面将会介绍这些类型。

图 1. 逻辑和垂直层的组件

该图显示了逻辑和垂直层的组件

大数据来源

    此层包含所有必要的数据源,提供了解决业务问题所需的洞察。数据是结构化、半结构化和非结构化的数据,而且来自许多来源:

企业遗留系统— 这些系统是企业应用程序,执行业务需要的分析并获取需要的洞察:

客户关系管理系统

结算操作

大型机应用程序

企业资源规划

Web 应用程序开发

Web 应用程序和其他数据来源扩充了企业拥有的数据。这些应用程序可使用自定义的协议和机制来公开数据。

数据管理系统 (DMS)— 数据管理系统存储逻辑数据、流程、策略和各种其他类型的文档:

Microsoft® Excel® 电子表格

Microsoft Word 文档

这些文档可以转换为可用于分析的结构化数据。文档数据可公开为领域实体,或者数据改动和存储层可将它转换为领域实体。

数据存储— 数据存储包含企业数据仓库、操作数据库和事务数据库。此数据通常是结构化数据,可直接使用或轻松地转换来满足需求。这些数据不一定存储在分布式文件系统中,具体依赖于所处的上下文。

智慧设备— 智慧设备能够捕获、处理和传输使用最广泛的协议和格式的信息。这方面的示例包括智能电话、仪表和医疗设备。这些设备可用于执行各种类型的分析。绝大多数智慧设备都会执行实时分析,但从智慧设备传来的信息也可批量分析。

聚合的数据提供程序— 这些提供程序拥有或获取数据,并以复杂的格式和所需的频率通过特定的过滤器公开它。每天都会产生海量的数据,它们具有不同的格式,以不同的速度生成,而且通过各种数据提供程序、传感器和现有企业提供。

其他数据源— 有许多数据来自自动化的来源:

地理信息:

地图

地区详细信息

位置详细信息

矿井详细信息

人类生成的内容:

社交媒体

电子邮件

博客

在线信息

传感器数据:

环境:天气、降雨量、湿度、光线

电气:电流、能源潜力等

导航装置

电离辐射、亚原子粒子等

靠近、存在等

位置、角度、位移、距离、速度、加速度

声音、声震动等

汽车、运输等

热量、热度、温度

光学、光、成像、见光度

化学

压力

流动、流体、速度

力、密度级别等

来自传感器供应商的其他数据

大数据平台是什么?什么时候需要大数据平台?如何建立大数据平台?

首先我们要了解Java语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。

Java :只要了解一些基础即可,做大数据不需要很深的Java 技术,学java SE 就相当于有学习大数据基础。

Linux:因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,能少踩很多坑,学会shell就能看懂脚本这样能更容易理解和配置大数据集群。还能让你对以后新出的大数据技术学习起来更快。

Hadoop:这是现在流行的大数据处理平台几乎已经成为大数据的代名词,所以这个是必学的。Hadoop里面包括几个组件HDFS、MapReduce和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapReduce是对数据进行处理计算的,它有个特点就是不管多大的数据只要给它时间它就能把数据跑完,但是时间可能不是很快所以它叫数据的批处理。

Zookeeper:这是个万金油,安装Hadoop的HA的时候就会用到它,以后的Hbase也会用到它。它一般用来存放一些相互协作的信息,这些信息比较小一般不会超过1M,都是使用它的软件对它有依赖,对于我们个人来讲只需要把它安装正确,让它正常的run起来就可以了。

Mysql:我们学习完大数据的处理了,接下来学习学习小数据的处理工具mysql数据库,因为一会装hive的时候要用到,mysql需要掌握到什么层度那?你能在Linux上把它安装好,运行起来,会配置简单的权限,修改root的密码,创建数据库。这里主要的是学习SQL的语法,因为hive的语法和这个非常相似。

Sqoop:这个是用于把Mysql里的数据导入到Hadoop里的。当然你也可以不用这个,直接把Mysql数据表导出成文件再放到HDFS上也是一样的,当然生产环境中使用要注意Mysql的压力。

Hive:这个东西对于会SQL语法的来说就是神器,它能让你处理大数据变的很简单,不会再费劲的编写MapReduce程序。有的人说Pig那?它和Pig差不多掌握一个就可以了。

Oozie:既然学会Hive了,我相信你一定需要这个东西,它可以帮你管理你的Hive或者MapReduce、Spark脚本,还能检查你的程序是否执行正确,出错了给你发报警并能帮你重试程序,最重要的是还能帮你配置任务的依赖关系。我相信你一定会喜欢上它的,不然你看着那一大堆脚本,和密密麻麻的crond是不是有种想屎的感觉。

Hbase:这是Hadoop生态体系中的NOSQL数据库,他的数据是按照key和value的形式存储的并且key是唯一的,所以它能用来做数据的排重,它与MYSQL相比能存储的数据量大很多。所以他常被用于大数据处理完成之后的存储目的地。

Kafka:这是个比较好用的队列工具,队列是干吗的?排队买票你知道不?数据多了同样也需要排队处理,这样与你协作的其它同学不会叫起来,你干吗给我这么多的数据(比如好几百G的文件)我怎么处理得过来,你别怪他因为他不是搞大数据的,你可以跟他讲我把数据放在队列里你使用的时候一个个拿,这样他就不在抱怨了马上灰流流的去优化他的程序去了,因为处理不过来就是他的事情。而不是你给的问题。当然我们也可以利用这个工具来做线上实时数据的入库或入HDFS,这时你可以与一个叫Flume的工具配合使用,它是专门用来提供对数据进行简单处理,并写到各种数据接受方(比如Kafka)的。

Spark:它是用来弥补基于MapReduce处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读慢的要死进化还特别慢的硬盘。特别适合做迭代运算,所以算法流们特别稀饭它。它是用scala编写的。Java语言或者Scala都可以操作它,因为它们都是用JVM的。