本片重点介绍以下问题
- 啥是数据?
- 为啥需要数据
- 为啥又需要大数据?
- 大数据是是啥?
- 大数据都有哪些技术栈?
- 大数据的工作流程是啥?
结绳记事
数据纸质化(书籍文献等)
单台机器数据电子化(计算机出现)
分布式集群大数据(多服务器并行处理、挖掘价值)
数据价值不断提升推动社会和经济发展。
数据的发展史
数据的发展史与人类的发展紧密相连,主要经历了以下几个阶段
古代数据记录阶段:
- 结绳记事、刻木记事和垒石计数:在人类发展的早期,人们通过结绳、刻木和垒石等方式来记录信息和进行简单的计数。比如,结绳记事中,事大就打大结,事小就打小结,这是原始的信息记录手段,但所能承载的数据量和信息非常有限。
- 文字的出现:随着人类文明的发展,文字的诞生是数据记录的一个重要里程碑。文字可以更准确、丰富地记录信息,使得人类能够更好地传承知识和经验。例如,中国古代的甲骨文、金文等,为后来的数据记录和分析奠定了基础。古巴比伦文化早在公元前 4000 年前后就举办过地籍、畜牧业普查,这也体现了当时人们对数据的收集和整理。
- 统计制度的初步形成:古代一些文明中逐渐形成了初步的统计制度。例如,中国早在夏、商、周三代就有了比较完备的统计制度,用于人口统计、税收等方面的管理。在西方,古罗马在公元前 6 世纪前后为了税收与征兵事宜而施行登记制度,这也是统计的早期应用。
近代数据发展阶段:
- 科学研究推动数据收集和分析:文艺复兴之后,科学研究蓬勃发展,科学家们开始系统地收集和分析数据。例如,在天文学领域,第谷・布拉赫对天体的观测数据为开普勒定律的发现提供了基础;在物理学领域,实验数据的积累推动了经典力学等理论的发展。
- 工业革命带来的数据增长:工业革命使得生产和经济活动大幅增加,产生了大量的数据,如工厂的生产数据、商业交易数据等。同时,工业革命也促进了数据记录和存储技术的发展,如纸张的大规模生产使得数据能够更方便地记录和保存。
- 统计学的发展:17 世纪中叶,统计学逐渐发展成为一门系统化的科学。英国的约翰・格兰特在 1662 年出版了《natural and political observations made upon the bills of mortality》一书,使用统计学和精算学的方式对伦敦市的人口进行了统计分析与估算,这是统计学早期的重要应用。
现代数据发展阶段:
- 计算机的出现与数据的数字化:20 世纪中叶,电子计算机的出现彻底改变了数据的处理方式。计算机能够快速、准确地处理数字数据,使得数据的数字化成为可能。最初,计算机主要用于科学计算和军事领域,但随着技术的不断发展,逐渐应用到商业、政府和个人生活等各个领域。
- 数据库管理系统的诞生:20 世纪 60 年代,数据库管理系统(DBMS)诞生,它使得数据的存储、管理和检索更加高效和便捷。数据库技术的不断发展,为企业和组织的数据管理提供了强大的工具,促进了数据的广泛应用和共享。
- 互联网的兴起与数据的爆炸式增长:20 世纪 90 年代初,互联网开始普及,人们的生活和工作方式发生了巨大变化。互联网产生了大量的数据,如网页内容、电子邮件、社交媒体数据等。随着移动互联网、物联网等技术的发展,数据的增长速度进一步加快,数据的类型也更加多样化,包括文本、图像、音频、视频等。
当代数据发展阶段:
- 大数据时代:进入 21 世纪,数据量呈指数级增长,大数据的概念逐渐深入人心。大数据具有 “4V” 特征,即数据量大(Volume)、数据类型多样(Variety)、数据处理速度快(Velocity)和数据价值密度低(Value)。企业和组织需要使用大数据技术来处理和分析海量数据,挖掘其中的价值,以支持决策、优化业务流程等。
- 人工智能与数据的深度融合:人工智能技术的发展,如机器学习、深度学习等,与数据紧密结合。通过对大量数据的学习和训练,人工智能模型能够实现智能预测、图像识别、语音识别等功能,为各行业带来了新的发展机遇。
- 数据隐私和安全的重视:随着数据的广泛应用,数据隐私和安全问题日益突出。各国政府和企业纷纷加强数据隐私保护和安全管理,制定相关的法律法规和技术标准,以保障个人和企业的数据安全。
大数据环境发展史:
大数据的发展历程大致可分为以下几个阶段:
萌芽期(1980 年 - 2008 年):
- 概念提出:1980 年,未来学家托夫勒在其所著的《第三次浪潮》一书中,首次提出 “大数据” 一词,将大数据称赞为 “第三次浪潮的华彩乐章”。不过在这之后的很长一段时间里,大数据只是一个概念,没有得到实质性的发展。
- 技术基础铺垫:这一时期,数据挖掘理论和数据库技术逐步成熟,一批商业智能工具和知识管理技术开始被应用,如数据仓库、专家系统、知识管理系统等,为大数据的发展奠定了技术基础。
- 早期探索:一些企业和研究机构开始关注数据的价值,但受限于当时的技术和存储能力,对大规模数据的处理和分析还处于探索阶段。
成长期(2009 年 - 2012 年):
- 市场成长:大数据市场迅速成长,互联网数据呈爆发式增长,越来越多的企业和组织开始意识到大数据的潜在价值,大数据技术逐渐被大众熟悉和使用。
- 理论传播:2010 年 2 月,肯尼斯・库克尔在《经济学人》上发表了长达 14 页的大数据专题报告《数据,无所不在的数据》,进一步推动了大数据概念的传播。
- 著作影响:2012 年,牛津大学教授维克托・迈尔・舍恩伯格的著作《大数据时代》开始在国内风靡,让更多人了解到大数据的概念、特征和应用前景,对大数据在全球范围内的发展起到了重要的推动作用。
爆发期(2013 年 - 2015 年):
- 各国战略布局:包括我国在内的世界各个国家纷纷布局大数据战略,将大数据视为推动经济发展和提升国家竞争力的重要因素。
- 企业创新应用:以百度、阿里、腾讯为代表的国内互联网公司各显身手,纷纷推出创新性的大数据应用,如精准营销、个性化推荐、风险控制等。
- 技术不断涌现:在这一时期,大数据相关的技术不断涌现和发展,如分布式存储、分布式计算、流处理技术等,使得对大规模数据的处理和分析变得更加高效和实时。
- 政策推动:2015 年 9 月,国务院发布《促进大数据发展行动纲要》,全面推进我国大数据发展和应用,进一步提升创业创新活力和社会治理水平。
大规模应用期(2016 年至今):
- 行业广泛应用:大数据应用渗透到各行各业,包括金融、医疗、交通、能源、制造业等,大数据价值不断凸显,数据驱动决策和社会智能化程度大幅提高。
- 技术创新突破:学术界在大数据技术与应用方面的研究创新不断取得突破,新的技术和算法不断涌现,如人工智能与大数据的融合、联邦学习、隐私计算等,进一步推动了大数据技术的发展。
- 产业快速发展:大数据产业迎来快速发展,形成了包括数据采集、存储、处理、分析、可视化等环节的完整产业链,同时也催生了一批大数据企业和创业公司。
- 数据治理加强:随着数据的重要性不断提高,数据治理成为企业和组织关注的重点,包括数据质量、数据安全、数据隐私等方面的管理和保护。
大数据技术栈发展史
大数据技术栈的发展经历了多个阶段,以下是其主要的发展历程:
起源与基础框架形成阶段(2000 年代初期 - 2008 年左右):
- Google 的三驾马车论文:在这一时期,Google 发表了三篇重要的论文,被视为大数据技术的起源。这三篇论文分别介绍了分布式文件系统(GFS)、MapReduce 计算模型和 BigTable 分布式数据库,为后来大数据技术的发展奠定了理论基础。
- Hadoop 的诞生:Lucene 项目的创始人 Doug Cutting 受到 Google 论文的启发,依据其原理实现了类似 GFS 和 MapReduce 的功能框架。在 2006 年,基于 MapReduce 功能的大数据技术被独立出来,这就是后来的 Hadoop。到 2008 年,Hadoop 正式成为 Apache 的顶级项目,开始被广泛关注和使用。Hadoop 的核心包括分布式文件系统 HDFS 和大数据计算引擎 MapReduce,HDFS 解决了大规模数据的存储问题,MapReduce 则提供了强大的分布式计算能力。
- Yahoo 的 Pig 语言:Yahoo 在使用 MapReduce 进行大数据计算时,觉得开发过于繁琐,于是开发了 Pig 语言。Pig 是一种基于 Hadoop 的类 SQL 语句的脚本语言,经过编译后可以直接生成 MapReduce 程序在 Hadoop 系统上运行,大大简化了 MapReduce 的编程难度。
- Facebook 的 Hive:为了方便数据分析,Facebook 开发了 Hive。Hive 可以直接使用 SQL 语句进行大数据计算,使得具有数据库关系型语言开发经验的人员能够更容易地使用大数据平台,降低了大数据技术的使用门槛。
资源管理与调度优化阶段(2012 年左右):
- YARN 的出现:起初,MapReduce 既是资源调度框架又是执行引擎,功能不够单一。为了解决这个问题,YARN 项目启动。2012 年,YARN 成为独立的项目并开始运营,它将资源管理和任务调度功能从 MapReduce 中分离出来,为上层应用提供了统一的资源管理和调度服务,提高了集群的资源利用率和管理效率。
计算引擎性能提升阶段(2012 年 - 2015 年左右):
- Spark 的兴起:2012 年,UC 伯克利 AMP 实验室的一位博士在使用 MapReduce 进行大数据实验计算时,发现性能较差,于是开发出了 Spark。Spark 是一种通用的 DAG(有向无环图)计算引擎,它允许用户充分利用内存进行快速的数据挖掘和分析,性能比 MapReduce 有了显著提升。Spark 一经推出就受到了业界的认可,并逐渐开始替代 MapReduce 在大数据计算中的地位。
- 流计算框架的发展:随着对实时数据处理需求的增加,流计算框架也得到了快速发展。代表性的流计算框架如 Storm、Spark Streaming 等。Storm 是较早的流计算框架,具有高吞吐量和低延迟的特点;Spark Streaming 则是基于 Spark 核心的流计算框架,它将流数据分成小的批次进行处理,实现了批处理和流处理的统一。
多元化发展与融合阶段(2016 年至今):
- Flink 的崛起:Flink 是一个分布式的大数据处理引擎,既支持流式计算又支持批处理计算,具有高度的灵活性和性能优势。它可以对有限数据流和无限数据流进行有状态的计算,在实时数据处理和复杂事件处理方面表现出色,逐渐成为大数据处理领域的重要技术。
- 数据存储的多样化:除了 HDFS 和 HBase 等传统的分布式存储系统,新的数据存储技术不断涌现。例如,Kudu 是介于 HDFS 和 HBase 之间的基于列式存储的分布式数据库,它在实时数据处理和随机读写方面具有较好的性能;对象存储如 S3 等也越来越多地被用作大数据的存储层,支持原始数据存储、分布式可扩展和高灵活性。
- 数据集成与处理工具的丰富:数据采集和预处理工具不断丰富和完善,如 Flume、Logstash、Kafka 等。Flume 是实时日志收集系统,支持将各种来源的数据收集并写入到不同的存储系统中;Logstash 是服务器端数据处理管道,可以从多个来源采集、转换数据;Kafka 是分布式的消息系统,用于在不同系统之间进行数据传输和缓冲。
- 机器学习与人工智能的融合:大数据技术与机器学习、人工智能的融合越来越紧密。在大数据基础上,出现了更多的机器学习库和框架,如 Mahout、MLlib 等,它们实现了常用的机器学习和数据挖掘算法,为企业提供了更强大的数据分析和预测能力。
大数据的工作流程
数据采集
- 功能:将公司内部多种数据源(如数据库、日志文件等)的数据采集并同步到大数据平台,确保数据的完整性和准确性。
- 技术:Sqoop(用于在关系型数据库和 Hadoop 之间高效传输数据)、DataX(支持多种异构数据源之间的数据传输)、Flume(专注于日志数据采集)、Canal(主要用于数据库增量数据的采集)等。
数据存储
- 功能:达成整个公司全部数据的统一化存储,提供稳定的数据读写服务,满足不同业务场景下的数据访问需求。
- 技术:HDFS(分布式文件系统,为大规模数据存储提供基础架构)、Hive(数据仓库工具,方便进行数据管理和查询)、Kafka(高性能的分布式消息队列,适用于实时数据存储与流转)、Redis(内存数据库,常用于缓存热点数据)、Hbase(分布式列存储数据库,适合海量数据的随机读写)等。
数据计算
- 功能:实现对数据的处理计算,包括数据清洗、转换、分析等操作。
- 技术: - 第一代:MapReduce,奠定了分布式计算的设计思想,通过将计算任务分解为 Map 和 Reduce 两个阶段,实现大规模数据的并行处理。- 第二代:在 MapReduce 基础上发展,优化了计算性能和资源管理等方面。MR + YARN(将 MapReduce 计算框架与资源管理框架 YARN 结合)- 第三代: Presto(交互式查询引擎,可快速查询海量数据)、Impala(提供高性能的 SQL 查询,用于大规模数据的实时分析)、Spark(通用的大数据计算引擎,支持多种计算模式)等。- 第四代:Flink,具备低延迟、高吞吐、精确一次等特性,能很好地处理实时流数据和批数据。
数据应用
- 功能:实现对数据的多样化应用,例如构建各类报表(财务报表、业务分析报表等)、进行数据可视化展示以及支持决策分析等。
- 技术:FineBI(功能强大的商业智能工具,方便业务人员自助进行数据分析和报表制作)、Tableau(以其出色的数据可视化能力而闻名)、PowerBI(微软的商业智能解决方案,与微软生态系统集成紧密)、SuperSet(开源的数据分析和可视化平台)等。
版权归原作者 凡梦_leo 所有, 如有侵权,请联系我们删除。