课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
大数据技术随着互联网的不断发展而得到了广泛的应用,而本文我们就简单来分析一下,大数据技术发展经过了哪些阶段。
使用MapReduce需要严格的遵循Map和Reduce编程规范,当要处理更为复杂的业务流程,往往需要协调多个Map和多个Reduce任务。然而每一步的MapReduce都可能出错,另外在机器学习业务场景非常复杂的,往往需要经历数据ETL处理完成数据导入、特征处理、数据压缩、数据备份、数据验证、数据训练等等,一个完整的业务流程需要多个任务,每一个Mr任务都可能出错,都需要重试和异常处理机制,所以维护和开发这些系统比较难受。另外主要就是性能问题,机器学习迭代计算一个MapReduce程序就是进城运行,运行就需要启动一次,带来了大量时间性能损失,另外就是MR主要采取磁盘作为存储介质,中间数据都经过磁盘进行数据的读取和结果的写入。另外就是MapReduce程序配置麻烦,比如缓冲大小、分片多少、都需要经过时间去调试。
在2012年左右,UC伯克利AMP实验室开发的Spark逐渐展露头角,spark以Rdd的数据使方式、采用内存计算模型,再加上慢慢的SparkSql、SparkMLlib、SparkGraph等生态的完善,逐步取代了MapReduce在企业应用中的地位。
一般来说像MapReduce、Spark这类框架主要处理的业务场景都被称为批处理系统,其中的计算时间较长及面对的数据也是历史数据,而不是在线实时数据,所以这类计算称之为大数据离线计算,而在大数据领域还有一类需要对实时产生的数据进行即使计算,相应的有Storm、Flink、SparkStreaming、等流计算框架来处理实时在线产生的数据去满足实时大数据的应用场景,这类计算也称为大数据实时计算。当然大数据业务场景需要同时采用批处理技术对历史数据进行计算,同时采用实时计算处理实时新增的数据,而像Flink这样的计算引擎,就可以同时支持流批一体计算了。
另外除了大数据计算外,还会有解决大规模数据存储与访问的NoSql系统也被称之为大数据技术,比如Hbase、Cassandra、ClickHouse等。
大数据处理的主要应用场景包括数据分析、数据挖掘、数据可视化与机器学习。数据分析主要使用Hive、SparkSQL等SQL引擎完成;数据挖掘与机器学习则有专门的机器学习框架Spark、TensorFlow、Mahout、PyTorch、Alink等,内置了主要的机器学习和数据挖掘算法。大数据要存入分布式文件系统(HDFS),要有序调度MapReduce和Spark作业执行,并能把执行结果写入到各个应用系统的数据库中,需要大数据调度平台,如何去管理整个大数据生态为业务赋能,还需要有一个大数据平台整合所有这些大数据组件和企业应用系统。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。