5分钟了解大数据
大数据的基本概念大数据指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强大的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大数据通常用来形容一个公司创造的大量非结构化数据和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费大量的时间和金钱。大数据主要解决两个主要问题海量数据的存储 : 例如分布式存储文件系统 : HDFS海
-
- 大数据的基本概念
大数据指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强大的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
大数据通常用来形容一个公司创造的大量非结构化数据和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费大量的时间和金钱。
- 大数据主要解决两个主要问题
- 海量数据的存储 : 例如分布式存储文件系统 : HDFS
- 海量数据的运算: 例如分布式运算框架 : MAPREDUCE,SPARK等
- 什么是分布式(并行)
就是将一个文件存储在很多台机器上,其实就是有一个系统帮助我们存储文件,这个系统看起来是由目录组成的(也就是说是由统一的路径的,但是该路径和机器上的真实路径是不相关的),将该文件放到这个文件系统的某个路径下的时候,他会将该文件切分成不同的文件块,存放在不同的机器上(用户并不知道里面的存储信息),这就是分布式存储
- 存储框架
- 分布式文件存储系统HDFS
- 分布式数据库系统ElasticSearch mongDB hbase redis
- 计算框架
- 解决的核心问题就是将用户的计算逻辑分布在多台机器上并行计算
- MapReduce计算框架 -- Hadoop中的计算框架
- Spark计算框架 -- 做离线批处理、实时流式处理
- Strom计算框架 -- 做实时流式处理
- flink 实时处理的框架
- 辅助类的工具
- Hive -- 数据仓库工具:可以接受SQL,将SQL语句解析成MapReduce或者Spark程序处理
- Flume -- 数据采集 , 普通的文件数据
- Sqoop -- 数据迁移 , 将结构化的数据库中的数据迁移到分布式文件系统中
- hbase -- 分布式的数据库 , 列式存储的数据库 , 对mysql进行补充
- 大数据主要技术组件
1)Sqoop:Sqoop是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库(MySql)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
2)Flume:Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
3)Kafka:Kafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性:
(1)通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。
(2)高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。
(3)支持通过Kafka服务器和消费机集群来分区消息。
(4)支持Hadoop并行数据加载。
4)Storm:Storm用于“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。
5)Spark:Spark是当前最流行的开源大数据内存计算框架。可以基于Hadoop上存储的大数据进行计算。
6)Oozie:Oozie是一个管理Hdoop作业(job)的工作流程调度管理系统。
7)Hbase:HBase是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。 nosql not only sql
8)Hive:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
10)R语言:R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
11)Mahout:Apache Mahout是个可扩展的机器学习和数据挖掘库。
12)ZooKeeper:Zookeeper是Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、 分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
13) Redis:(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库(文件系统),并提供多种语言的API。
14) ElasticSearch: 是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。能够达到实时搜索,稳定,可靠,快速,安装使用方便.
15) MongoDB:是由C++语言编写的一个介于关系数据库和非关系数据库之间的分布式文件存储的数据库。是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
16) flink: 是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算法的执行。是当下比较流行的实时计算框架的领头羊!
-
- 大数据的应用场景
- 数据处理的最典型的应用场景:公司产品运营情况分析
- 电商推荐系统:基于海量的浏览行为、购物行为数据,进行大量的算法模型的运算,得出各类推荐结论,以供电商网站页面来为用户进行商品推荐。
- 广告精准推送系统:基于海量的互联网用户的各类数据,统计分析,进行用户画像(得到用户的各种属性标签),然后可以为广告主进行针对性的精准广告投放。
- 大数据无处不在,大数据应用于各个行业,包括金融、汽车、餐饮、电信、能源、体能和娱乐等在内的社会各行各业都已经融入了大数据的印迹。
- 制造业,利用工业大数据提升制造业水平,包括产品故障诊断与预测、分析工艺流程、改进生产工艺,优化生产过程能耗、工业供应链分析与优化、生产计划与排程。
- 金融行业,大数据在高频交易、社交情绪分析和信贷风险分析三大金融创新领域发挥重大作用。
- 汽车行业,利用大数据和物联网技术的无人驾驶汽车,在不远的未来将走入我们的日常生活。
- 互联网行业,借助于大数据技术,可以分析客户行为,进行商品推荐和针对性广告投放。
- 电信行业,利用大数据技术实现客户离网分析,及时掌握客户离网倾向,出台客户挽留措施。
- 能源行业,随着智能电网的发展,电力公司可以掌握海量的用户用电信息,利用大数据技术分析用户用电模式,可以改进电网运行,合理设计电力需求响应系统,确保电网运行安全。
- 物流行业,利用大数据优化物流网络,提高物流效率,降低物流成本。
- 城市管理,可以利用大数据实现智能交通、环保监测、城市规划和智能安防。
- 生物医学,大数据可以帮助我们实现流行病预测、智慧医疗、健康管理,同时还可以帮助我们解读DNA,了解更多的生命奥秘。
- 体育娱乐,大数据可以帮助我们训练球队,决定投拍哪种题财的影视作品,以及预测比赛结果。
- 安全领域,政府可以利用大数据技术构建起强大的国家安全保障体系,企业可以利用大数据抵御网络攻击,警察可以借助大数据来预防犯罪。
- 个人生活, 大数据还可以应用于个人生活,利用与每个人相关联的“个人大数据”,分析个人生活行为习惯,为其提供更加周到的个性化服务。
- 大数据的价值,远远不止于此,大数据对各行各业的渗透,大大推动了社会生产和生活,未来必将产生重大而深远的影响。
- 人工智能和机器学习 , AI中海量训练数据的管理和运算等 !
总之:大数据技术的应用非常广泛 , 在不久的将来会渗透应用到各行各业中 ! 所以学习大数据是中非常明智且有前途的选择 !
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)