产品 & 解决方案>

数据平台

大数据平台、数据仓库/集市、SAS实验室、高层看板…

大数据平台

诺祺大数据平台首个版本于2015年11月1日正式发布,是基于开源Hadoop框架进行研发的大数据平台。支持数据分布式存储,支持分布式数据交互、清洗等ETL流程;支持MapReduce和Spark计算,实现数据的分布式计算与分析,支持内存计算;支持海量数据的快速查询和检索;支持流数据处理和计算;支持Sqoop、Flume等大数据处理相关的功能模块。帮助客户实现更全面、更实时、更深入的数据分析,实现强化大数据的运营服务能力,实现企业精细化管理和运营的要求,应对未来的挑战。

分布式文件系统(HDFS):

HDFS是针对大规模数据的高容错性和高吞吐的分布式文件系统。它可以构建从几台到几千台由常规服务器组成的集群中,并提供高聚合输入输出的文件读写访问。 基于HDFS的分布式数据存储服务,能够进行海量非结构化数据高速存储,具备高可用性能、无需停机无缝动态扩容等特性。

主要特点包括:

  • 使用低成本存储和服务器构建高可靠性和容错性系统,数据自动复制 ,可自我修复。
  • 支持GB到TB级别大数据文件,提供PB级别的存储容量。
  • 为流式数据访问优化,简化“一致性”,适合一次写入、多次读。
  • 高聚合带宽,高并发访问。
  • 移动“计算”比移动“数据”更便宜 ,提供同节点数据存放和计算能力。
分布式内存云计算模块(Spark):

Spark是个开源的数据分析集群计算框架,最初由加州大学伯克利分校AMPLab开发,建立于HDFS之上。Spark与Hadoop一样,用于构建大规模、低延时的数据分析应用。Spark采用Scala语言实现,使用Scala作为应用框架。park采用基于内存的分布式数据集,优化了迭代式的工作负载以及交互式查询。与Hadoop不同的是,Spark和Scala紧密集成,Scala像管理本地collective对象那样管理分布式数据集。Spark支持分布式数据集上的迭代式任务,实际上可以在Hadoop文件系统上与Hadoop一起运行(通过YARN、Mesos等实现)。

分布式数据检索和查询模块(HBase):

HBase是一个分布式的、按列存储的、多维表结构的实时分布式数据库。它可以提供大数据量结构化和非结构化数据的高速读写操作,为高速在线数据服务而设计。它的可靠性和性能都很高,同时又具有很好的伸缩性。它利用 HDFS作为其文件存储系统,从而可充分利用HDFS的高可靠性来更好的支持底层存储。同时利用 MapReduce计算框架来处理其中的海量数据,MapReduce为HBase提供了高性能的计算能力。

主要特点包括:

  • 支持每秒数万条级别高速并发写入和高并发查询。
  • 可扩展,数据自动切分和分布,可动态扩容,无需停机。
  • 数据存放在HDFS分布式文件系统之上,不会丢失。
  • 灵活的表结构,可动态改变和增加(包括行、列和时间戳)。
  • 面向列、可压缩,有效降低磁盘I/O,提高利用率。
分布式数据导入和清洗模块Flume&Sqoop:

Sqoop提供了在Hadoop和结构化数据源(比如关系型数据库、数据文件)之间双向高效传送数据的连接器组件。它将数据传输任务转换为分布式Map任务实现,在传输过程中还可以实现数据转换等功能,完成传统数据源和Hadoop之间ETL的任务。通过使用Sqoop,在MySQL, ORACLE等外部数据库中的数据可被导入HDFS,Hive以及其他相关系统,也可将本地数据导出到关系型数据库和数据仓库。

主要特点包括:

  • 使用MapReduce框架并行传送,效率高。
  • 可以实现增量同步和完全同步。
  • 提供扩充接口,实现复制转换。
分布式流处理引擎模块SparkStreaming:

Spark Streaming提供大规模流式数据处理能力,将流式计算分解成一系列短小的批处理作业。提到Spark Streaming,目前的大数据处理可以分为如以下三个类型:

  1. 复杂的批量数据处理(batch data processing),通常的时间跨度在数十分钟到数小时之间。
  2. 基于历史数据的交互式查询(interactive query),通常的时间跨度在数十秒到数分钟之间步。
  3. 基于实时数据流的数据处理(streaming data processing),通常的时间跨度在数百毫秒到数秒之间。

目前已有很多相对成熟的开源软件来处理以上三种情景,我们可以利用MapReduce来进行批量数据处理,可以用Impala来进行交互式查询,对于流式数据处理,我们可以采用Storm。对于大多数互联网公司来说,一般都会同时遇到以上三种情景,那么在使用的过程中这些公司可能会遇到如下的不便:

  • 三种情景的输入输出数据无法无缝共享,需要进行格式相互转换。
  • 每一个开源软件都需要一个开发和维护团队,提高了成本。
  • 在同一个集群中对各个系统协调资源分配比较困难。

BDAS就是以Spark为基础的一套软件栈,利用基于内存的通用计算模型将以上三种情景一网打尽,同时支持Batch、 Interactive、Streaming的处理,且兼容支持HDFS和S3等分布式文件系统,可以部署在YARN和Mesos等流行的集群资源管理器 之上。Spark可以替代MapReduce进行批处理,利用其基于内存的特点,特别擅长迭代式和交互式数据处理;Shark处理大规模数据的SQL查询,兼容Hive的HQL。

分布式计算框架模块MapReduce:

MapReduce是一个适用于大数据量处理的分布式计算框架,可以将一个大数据处理任务分布同步运行在一个服务器集群中。它是为离线数据分析而设计,利用数据并行性进行分布运算,而后汇总结果的计算框架。

主要特点包括:

  • 将任务分拆、分布、汇总实现在框架逻辑中,开发人员只需实现业务逻辑。
  • 分布任务自动失败重试,单个任务意外失败不会造成整个任务推出。
  • 和HDFS整合,使计算移到数据所在节点运行。
分布式数据分析语言模块Pig:

Pig是基于Hadoop的大数据分布式数据分析语言和运行平台。它的构架确保可以将分析任务分布并行运行,以适应海量数据的分析需求。

主要特点包括:

  • 提供Pig Laten语言,便于编写分析程序。
  • 系统可以自动优化运行,允许用户关注于业务实现。
  • 用户可以实现自定义函数扩展用来实现特殊处理。
数据挖掘算法库模块Mahout:

Mahout是一个可扩展的机器学习类库,与Hadoop结合后可以提供分布式数据分析功能。 它在提供机器学习框架的同时,还实现了一些可扩展的机器学习领域经典算法的实现,可以帮助开发人员更加方便快捷地创建智能应用程序。