软件开发平台与工具.ppt
01五月2025第三章:软件开发平台与工具软件开发技术
补充大数据现在是业内炙手可热的话题,随着技术的开展,大数据存储技术已经不在是难点,但是对大数据如何做好存储后的下一步处理将是未来竞争的焦点,目前比较受欢送的Storm,Spark,Hadoop三个大数据处理工具都是JVM上的语言写成的。Spark由Scala写成,是UCBerkeleyAMPlab所开源的类HadoopMapReduce的通用的并行计算框架,Spark基于mapreduce算法实现的分布式计算,拥有HadoopMapReduce所具有的优点。Storm由java和clojure写成,storm的优点是全内存计算,因为内存寻址速度是硬盘的百万倍以上,所以storm的速度相比较hadoop非常快。hadoop是实现了mapreduce的思想,将数据切片计算来处理大量的离线数据数据。hadoop处理的数据必须是已经存放在hdfs上或者类似hbase的数据库中,所以hadoop实现的时候是通过移动计算到这些存放数据的机器上来提高效率。
SparkSpark是发源于美国加州大学伯克利分校AMPLab的集群计算平台。它立足于内存计算,从多迭代批量处理出发,兼收并蓄数据仓库、流处理和图计算等多种计算范式,是罕见的全能选手。Spark已正式申请参加Apache孵化器,从灵机一闪的实验室“电火花”成长为大数据技术平台中异军突起的新锐。本文主要讲述Spark的设计思想。Spark如其名,展现了大数据不常见的“电光石火”。具体特点概括为“轻、快、灵和巧”。
SparkSpark首先是一种粗粒度数据并行〔dataparallel〕的计算范式。数据并行的范式决定了Spark无法完美支持细粒度、异步更新的操作。Spark的计算抽象是数据流,而且是带有工作集〔workingset〕的数据流。Spark的突破在于,在保证容错的前提下,用内存来承载工作集。
SparkSpark是UCBerkeleyAMPlab所开源的类HadoopMapReduce的通用的并行计算框架.Spark基于mapreduce算法实现的分布式计算,拥有HadoopMapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的mapreduce的算法。
SparkShark根本上就是在Spark的框架根底上提供和Hive一样的HiveQL命令接口,为了最大程度的保持和Hive的兼容性,Shark使用了Hive的API来实现queryParsing和LogicPlangeneration,最后的PhysicalPlanexecution阶段用Spark代替HadoopMapReduce。通过配置Shark参数,Shark可以自动在内存中缓存特定的RDD,实现数据重用,进而加快特定数据集的检索。同时,Shark通过UDF用户自定义函数实现特定的数据分析学习算法,使得SQL数据查询和运算分析能结合在一起,最大化RDD的重复使用。
目录软件开发工具软件开发平台数据库平台网络应用开发平台(.Net,Java,J2EE等)嵌入式开发平台(Linux,Tornado,mobileWin)Oracle、Sybase、SQLServer、DB2、mySQL分布式数据库系统开发源代码软件根底开发工具测试环境与工具
软件开发平台网络应用开发平台.NetJavaJ2EE嵌入式开发平台嵌入式操作系统嵌入式开发环境嵌入式开发平台
.Net根据微软的定义:.NETisarevolutionarynewplatform,builtonopenInternetprotocolsandstandards,withtoolsandservicesthatmeldcomputingandcommunicationsinnewways.即:.NET=新平台+标准协议+统一开发工具
.Net.Net作为新一代互联软件和效劳战略,将使微软现有的软件在网络时代不仅适用于传统的个人计算机,而且能够满足呈现强劲增长的新设备的需要。到底什么是.Net呢?微软总裁兼首席执行官SteveBaller把它定义为:.Net代表一个集体,一个环境,一个可以作为平台支持下一代Internet的可编程结构。.Net的目的是想将任何语言都统一到.Net平台上。最终目的是让用户在任何地方、任何时间,以及利用任何设备都能访问所需的信息、文件和程序。用户不需要知道这些文件放在什么地方,只需要发出请求,然后只管接收