大数据究竟是什么?大数据有哪些技术呢?

近几年,大数据的概念逐渐深入人心,大数据的趋势越来越火爆。但是,大数据到底是个啥?怎么样才能玩好大数据呢?

大数据的基本含义就是海量数据,麦肯锡全球研究所给出的定义是:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。

数字经济的要素之一就是大数据资源,现在大家聊得最多的大数据是基于已经存在的大数据的应用开发。

如今,大数据技术已应用在各行各业。小麦举个例子,讲述一下最贴近我们生活的民生服务是如何运用大数据。

最近电视新闻提及到的“一网统管”精准救助场景,传统的救助方式往往通过困难家庭申请、审核、审批等多项程序,遇到需要跨部门、跨层级、跨街区协调解决的个案,还需要召开各级协调会的形式协商解决。

现在通过“精准救助”的方式,民政部门在平时的摸排中了解情况,将相关信息录入到“一网统管”数据中心,再根据数据模型识别出需要协助的家庭,随后形成走访工单派发给社工对其进行帮扶,从而提升救助的效率,做到雪中送炭。

在数字化政府改造之前,每个部门只掌握各自分管的数据,形成“信息孤岛”;有了大数据分析平台后,所有的数据信息,便打通了“任督二脉”。

政府可以充分利用大数据技术打造“一网统管”精准救助场景,极大提升了社会救助的科学性和精准性,让城市变得更加温暖。




这是我通常与想要了解大数据的人进行对话:

问:什么是大数据?

答:大数据是描述庞大数据的术语。

问:现在,大数据有多大?

答:如此庞大,以至于无法用常规工具处理?

问:通常的工具是什么意思?

答:普通文件系统,数据库等工具。

所有这些大数据工具都有一个共同的特性:分布式计算。

因此,大数据是一个通常只能通过分布式的工具才能解决的问题。我知道这些天,每个人都在尝试将他们的BI(商业情报)工具描绘成大数据工具,但不要被喧闹声所欺骗。

问:哪些典型的大数据问题?

答:请考虑以下几点:

1,如何建立存储和保存500 TB电影/视频/文字的存储?

2,一台机器实际读取500 TB会花费多少时间?

3,如何建立可以存储数百万列和数十亿行数据而不会像乌龟一样慢的数据存储?

4,如何提供每秒数百万的读写?

5,如何解决真正复杂的问题?还记得时间的复杂性吗?想象一下,电子邮件哦公司,必须每秒钟来自不同用户30GB 电子邮件自动分类为5个类别(比如是否垃圾邮件),

或判断数百万个网站的内容,您必须准备网站名称的层次树,以使两个同级彼此非常相似。这种问题称为分类。

它们比通常的数据排序更为复杂。

随着数据的进一步增长,这些问题变得非常不可能解决。

解决此类问题需要巨大的计算能力-就RAM,CPU,磁盘读取速度而言。

问:大数据有什么用?

答:如果规模巨大,几乎每个业务计算问题都可以转换为大数据问题。





就以悟空问答为例说说大数据的故事。以下说的数字都不是真实的,都是我的假设。

比如每天都有1亿的用户在悟空问答上回答问题或者阅读问答。

每天产生的内容

假设平均有1000万的用户每天回答一个问题。一个问题平均有1000的字, 平均一个汉字占2个字节byte,三张图片, 平均一帐图片300KB。那么一天的数据量就是:

文字总量:10,000,000 * 1,000 * 2 B = 20 GB

图片总量: 10,000,000 * 3 * 300KB = 9 TB

为了收集用户行为,所有的进出悟空问答页面的用户。点击,查询,停留,点赞,转发,收藏都会产生一条记录存储下来。这个量级更大。

所以粗略估计一天20TB的数据量. 一般的PC电脑配置大概1TB,一天就需要20台PC的存储。

如果一个月的,一年的数据可以算一下有多少。传统的数据库系统在量上就很难做到。

另外这些数据都是文档类型的数据。需要各种不同的存储系统支持,比如NoSQL数据库。


需要分布式数据存储,比如Hadoop的HDFS。


数据的流动

上述1000万个答案,会有1亿的人阅读。提供服务的系统成百上千。这些数据需要在网上各个系统间来回传播。需要消息系统比如Kafka。

在线用户量

同时在线的用户量在高峰时可能达到几千万。如此高的访问量需要数前台服务器同时提供一致的服务。为了给用户提供秒级的服务体现,需要加缓存系统比如redis。


机器学习,智能推荐

所有的内容包括图片都会还用来机器学习的分析,从而得到每个用户的喜好,给用户推荐合适的内容和广告。还有如此大量的数据,必须实时的分析,审核,审核通过才能发布,人工审核肯定做不到,必须利用机器来智能分析,需要模式识别,机器学习,深度学习。实时计算需要Spark,Flink等流式计算技术。


服务器的管理

几千台服务器,协同工作。网络和硬件会经常出问题。这么多的资源能够得到有效利用需要利用云计算技术,K8S等容器管理工具。还需要分布式系统的可靠性和容灾技术。



本人,@小马过河Vizit,专注于分布式系统原理和实践分享。希望利用动画生动而又准确的演示抽象的原理。欢迎关注。

关于我的名字。小马过河Vizit,意为凡事像小马过河一样,需要自己亲自尝试,探索才能获得乐趣和新知。Vizit是指Visualize it的缩写。一图胜千言,希望可以利用动画来可视化一些抽象的原理。




1、大数据的概念:大数据(big data),IT行业术语,是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低的四大特征。

大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。

2、大数据有哪些技术:

基础:

a、linux的操作和shell编程

b、zookeeper分布式系统的协调服务

c、redis内存数据库

d、java的并发包编程:反射、socket编程、NIO、netty、RPC、jvm

离线:

a、hdfs分布式文件系统

b、mapreduce 分布式运算框架

c、hive数据仓库工具

d、hbase nosql数据库

e、离线辅助工具 flume、sqoop、azkaban

实时流式计算

a、storm

b、kafka

内存计算

spark(spark-core、spark-sql、spark-streaming、spark-mllib)

实时计算

flink

编程语言

java、scala、python(根据自己掌握的情况选择)

最近新接触的技术(都是数据库)

druid、doris、kudu




大数据技术可以定义为一种软件应用程序,旨在分析处理提取来自极其复杂的大型数据信息,而传统数据处理软件则无法处理。

我们需要大数据处理技术来分析大量实时数据,并提出预测和方案以减少未来的风险。

在类别中的大数据技术分为两大类型:

1.运营大数据技术

2.分析大数据技术


首先,运营大数据与我们生成的常规日常数据有关。这可能是在线交易,社交媒体特定 组织的数据等。

运营大数据技术的一些示例如下:

·网上订票,其中包括您的火车票,飞机票,电影票等。

·在线购物是您的淘宝,京东交易等等。

·来自社交媒体网站(如微信,QQ等)的数据。

·任何跨国公司的员工详细信息。

其次,分析性大数据就像大数据技术的高级版本一样。它比运营大数据要复杂一些。简而言之,分析性大数据是实际绩效的组成部分,而关键的实时业务决策是通过分析运营大数据来制定的。

分析大数据技术的几个示例如下:

·股票行销

·进行太空任务,其中任何信息都是至关重要的。

·天气预报信息。

·可以监视特定患者健康状况的医学领域。




大数据是什么?

投资者眼里是金光闪闪的两个字:资产

比如,Facebook上市时,评估机构评定的有效资产中大部分都是其社交网站上的数据。

很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展?

如果把大数据比作一种产业,那么这种产业实现盈利的关键,在于提高对数据的“加工能力”通过“加工”实现数据的“增值”。

Target 超市以20多种怀孕期间孕妇可能会购买的商品为基础,将所有用户的购买记录作为数据来源,通过构建模型分析购买者的行为相关性,能准确的推断出孕妇的具体临盆时间,这样Target的销售部门就可以有针对的在每个怀孕顾客的不同阶段寄送相应的产品优惠卷。

Target的例子是一个很典型的案例,这样印证了维克托·迈尔-舍恩伯格提过的一个很有指导意义的观点:通过找出一个关联物并监控它,就可以预测未来。


Target通过监测购买者购买商品的时间和品种来准确预测顾客的孕期,这就是对数据的二次利用的典型案例。如果,我们通过采集驾驶员手机的GPS数据,就可以分析出当前哪些道路正在堵车,并可以及时发布道路交通提醒;通过采集汽车的GPS位置数据,就可以分析城市的哪些区域停车较多,这也代表该区域有着较为活跃的人群,这些分析数据适合卖给广告投放商。不管大数据的核心价值是不是预测,但是基于大数据形成决策的模式已经为不少的企业带来了盈利和声誉。


和大数据相关的技术

简单说有三大核心技术:拿数据,算数据,卖数据。

一、数据采集与预处理

对于各种来源的数据,包括移动互联网数据、社交网络的数据等,这些结构化和非结构化的海量数据是零散的,也就是所谓的数据孤岛,此时的这些数据并没有什么意义,数据采集就是将这些数据写入数据仓库中,把零散的数据整合在一起,对这些数据综合起来进行分析。


二、数据存储

Hadoop作为一个开源的框架,专为离线和大规模数据分析而设计,HDFS作为其核心的存储引擎,已被广泛用于数据存储。

HBase,是一个分布式的、面向列的开源数据库,可以认为是hdfs的封装,本质是数据存储、NoSQL数据库。

Phoenix,相当于一个Java中间件,帮助开发工程师能够像使用JDBC访问关系型数据库一样访问NoSQL数据库HBase。


三、数据清洗

MapReduce作为Hadoop的查询引擎,用于大规模数据集的并行计算,”Map(映射)”和”Reduce(归约)”,是它的主要思想。它极大的方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统中。

随着业务数据量的增多,需要进行训练和清洗的数据会变得越来越复杂,这个时候就需要任务调度系统,比如oozie或者azkaban,对关键任务进行调度和监控。


四、数据查询分析

Hive的核心工作就是把SQL语句翻译成MR程序,可以将结构化的数据映射为一张数据库表,并提供 HQL(Hive SQL)查询功能。Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce。可以将Hive理解为一个客户端工具,将SQL操作转换为相应的MapReduce jobs,然后在hadoop上面运行。Hive支持标准的SQL语法,免去了用户编写MapReduce程序的过程,它的出现可以让那些精通SQL技能、但是不熟悉MapReduce 、编程能力较弱与不擅长Java语言的用户能够在HDFS大规模数据集上很方便地利用SQL 语言查询、汇总、分析数据。


五、数据可视化

对接一些BI平台,将分析得到的数据进行可视化,用于指导决策服务。主流的BI平台比如,国外的敏捷BI Tableau、Qlikview、PowrerBI等,国内的SmallBI和新兴的网易有数等。


在上面的每一个阶段,保障数据的安全是不可忽视的问题。




我有幸做了有五六七八年的大数据吧,谈谈自己的看法。简单来说,就是现在各个APP,网站产生的数据越来越多,越来越大,传统的数据库比如MySQL Oracle之类的,已经处理不过来了。所以就产生了大数据相关的技术来处理这些庞大的数据。

第一,首先要把这些大数据都可靠的存储起来,经过多年的发展,hdfs已经成了一个数据存储的标准。

第二,既然有了这么多的数据,我们可以开始基于这些数据做计算了,于是从最早的MapReduce到后来的hive,spark,都是做批处理的。

第三, 由于像hive这些基于MapReduce的引擎处理速度过慢,于是有了基于内存的olap查询引擎,比如impala,presto。

第四,由于批处理一般都是天级别或者小时级别的,为了更快的处理数据,于是有了spark streaming或者flink这样的流处理引擎。

第五,由于没有一个软件能覆盖住所有场景。所以针对不同的领域,有了一些特有的软件,来解决特定场景下的问题,比如基于时间序列的聚合分析查询数据库,inflexdb opentsdb等。采用预聚合数据以提高查询的druid或者kylin等,

第六,还有其他用于数据削峰和消费订阅的消息队列,比如kafka和其他各种mq

第七,还有一些其他的组件,比如用于资源管理的yarn,协调一致性的zookeeper等。

第八,由于hdfs 处理小文件问题不太好,还有为了解决大数据update和insert等问题,引入了数据湖的概念,比如hudi,iceberg等等。

第九,业务方面,我们基于大数据做一些计算,给公司的运营提供数据支撑。做一些推荐,给用户做个性化推荐。机器学习,报警监控等等。

附一张大数据技术图谱,从网上找的




大数据指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。通过大量的统计了解大家的喜好,想要的东西,从而得到他们想要的,比如精准营销,征信分析,消费分析等等

大数据技术有:

一、大数据基础阶段

大数据基础阶段需要掌握的技术有:Linux、Docker、KVM、MySQL基础、Oracle基础、MongoDB、redis等;

二、大数据存储阶段

大数据存储阶段需要掌握的技术有:hbase、hive、sqoop等;

三、大数据架构设计阶段

大数据架构设计阶段需要掌握的技术有:Flume分布式、Zookeeper、Kafka等;

四、大数据实时计算阶段

大数据实时计算阶段需要掌握的技术有:Mahout、Spark、storm等;

五、大数据数据采集阶段

大数据数据采集阶段需要掌握的技术有:Python、Scala;

六、大数据商业实战阶段

大数据商业实战阶段需要掌握的技术有:实操企业大数据处理业务场景、分析需求、解决方案实施、综合技术实战应用。




大数据是根据总体数据从整体上去分析总结某些事物品或现象的原因,从而发现问题及寻找解决问的一种数据技术手段 。包括大数据收集技术及宏观数据分析技术




大数据包括结构化、半结构化和非结构化数据,非结构化数据越来越成为数据的主要部分。据IDC的调查报告显示:企业中80%的数据都是非结构化数据,这些数据每年都按指数增长60%。 [6] 大数据就是互联网发展到现今阶段的一种表象或特征而已,没有必要神话它或对它保持敬畏之心,在以云计算为代表的技术创新大幕的衬托下,这些原本看起来很难收集和使用的数据开始容易被利用起来了,通过各行各业的不断创新,大数据会逐步为人类创造更多的价值。

想要系统的认知大数据,必须要全面而细致的分解它,着手从三个层面来展开:

第一层面是理论,理论是认知的必经途径,也是被广泛认同和传播的基线。在这里从大数据的特征定义理解行业对大数据的整体描绘和定性;从对大数据价值的探讨来深入解析大数据的珍贵所在;洞悉大数据的发展趋势;从大数据隐私这个特别而重要的视角审视人和数据之间的长久博弈。

第二层面是技术,技术是大数据价值体现的手段和前进的基石。在这里分别从云计算、分布式处理技术、存储技术和感知技术的发展来说明大数据从采集、处理、存储到形成结果的整个过程。

第三层面是实践,实践是大数据的最终价值体现。在这里分别从互联网的大数据,政府的大数据,企业的大数据和个人的大数据四个方面来描绘大数据已经展现的美好景象及即将实现的蓝图。


展开阅读全文

页面更新:2024-04-02

标签:在线   数据   技术   分布式   精准   海量   实时   机器   阶段   价值   数据库   时间   工具   用户   系统   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top