Hadoop+Spark+MongoDB+MySQL+C#大数据开发项目最佳实践

一、前言

 

随着IT技术的飞速发展,各行各业都已在广泛尝试使用大数据技术提供更稳健和优质的服务。目前,医疗IT系统收集了大量极具价值的数据,但这些历史医疗数据并没有发挥出其应有的价值。为此,本文拟利用医院现有的历史数据,挖掘出有价值的基于统计学的医学规则、知识,并基于这些信息构建专业的临床知识库,提供诊断、处方、用药推荐功能,基于强大的关联推荐能力,极大地提高医疗服务质量,减轻医疗人员的工作强度。


 

二、Hadoop&Spark

 

目前大数据处理领域的框架有很多。

 

从计算的角度上看,主要有MapReduce框架(属于Hadoop生态系统)和Spark框架。其中Spark是近两年出现的新一代计算框架,基于内存的特性使它在计算效率上大大优于MapReduce框架;从存储角度来看,当前主要还是在用Hadoop生态环境中的HDFS框架。HDFS的一系列特性使得它非常适合大数据环境下的存储。

 

1

Hadoop

 

Hadoop不是一个软件,而是一个分布式系统基础架构,是由Apache基金会主持开发的一个开源项目。Hadoop可以使用户在不了解分布式底层实现的情况下,开发分布式程序,从而充分利用电脑集群的威力,实现高速运算和大规模数据存储。Hadoop主要有HDFS、MapReduce、Hbase等子项目组成。

 

Hadoop是一个能够对大量数据进行分布式处理的软件框架,并且使用可靠、高效、可伸缩的方式进行数据处理。Hadoop假设数据处理和存储会失败,因此系统维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop通过并行工作,提高数据处理速度。Hadoop能够处理PB级数据,这是常规数据服务器所不能实现的。此外,Hadoop依赖于开源社区,任何问题都可以及时得到解决,这也是Hadoop的一大优势。Hadoop建立在Linux 集群上,因此成本低,并且任何人都可以使用。它主要具有以下优点:

 

  1. 高可靠性。Hadoop系统中数据默认有三个备份,并且Hadoop有系统的数据检查维护机制,因而提供了高可靠性的数据存储。
  2. 扩展性强。Hadoop在普通PC服务器集群上分配数据,通过并行运算完成计算任务,可以很方便的为集群扩展更多的节点。
  3. 高效性。Hadoop能够在集群的不同节点之间动态的转移数据。并且保证各个节点的动态平衡,因此处理速度非常快。
  4. 高容错性。Hadoop能够保存数据的多个副本,这样就能够保证失败时,数据能够重新分配。

 

Hadoop总体架构如下图所示,Hadoop架构中核心的是MapReduce和HDFS两大组件。

 

Hadoop+Spark+MongoDB+MySQL+C#大数据开发项目最佳实践_第1张图片

 

 

Google曾发表论文《Google File System》,系统阐述了Google的分布式文件系统的设计实现,Apache针对GFS,进行开源开发,发布了Hadoop的分布式文件系统:Hadoop Distributed File System,缩写为HDFS。MapReduce的核心思想也由Google的一篇论文《MapReduce:Simplified Data Processing on Large Clusters》 提出,简单解释MapReduce的核心思想就是:任务分解执行,执行结果汇总。

 

2

Spark

 

Spark是UC Berkeley大学AMP实验室开源的类似MapReduce的计算框架,它是一个基于内存的集群计算系统,最初的目标是解决MapReduce磁盘读写的开销问题,当前最新的版本是1.5.0。Spark—经推出,就以它的高性能和易用性吸引着很多大数据研究人员,在众多爱好者的努力下,Spark逐渐形成了自己的生态系统( Spark为基础,上层包括Spark SQL,MLib,Spark Streaming和GraphX),并成为Apache的顶级项目。

 

Spark的核心概念是弹性分布式存储(Resilient Distributed Datasets, RDD)间,

你可能感兴趣的:(大数据,人工智能,互联网,spark,Hadoop,MySQL,大数据开发,大数据学习)