网友提问:
大数据究竟是什么?大数据有哪些技术呢?
优质回答:
就以问答为例说说大数据的故事。以下说的数字都不是真实的,都是我的假设。
比如每天都有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的缩写。一图胜千言,希望可以利用动画来可视化一些抽象的原理。
其他网友回答
大数据是对海量数据进行存储、计算、统计、分析处理的一系列处理手段,处理的数据量通常是TB级,甚至是PB或EB级的数据,这是传统数据处理手段所无法完成的,其涉及的技术有分布式计算、高并发处理、高可用处理、集X、实时性计算等,汇集了当前IT领域热门流行的IT技术。
其他网友回答
2、特点分析
3、发展过程
其他网友回答
大数据是什么?
投资者眼里是金光闪闪的两个字:资产。
比如,Facebооk上市时,评估机构评定的有效资产中大部分都是其社交网站上的数据。
很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展?
如果把大数据比作一种产业,那么这种产业实现盈利的关键,在于提高对数据的“加工能力”,通过“加工”实现数据的“增值”。
Target 超市以20多种X期间孕妇可能会X的商品为基础,将所有用户的X记录作为数据来源,通过构建模型分析X者的行为相关性,能准确的推断出孕妇的具体临盆时间,这样Target的X部门就可以有针对的在每个X顾客的不同阶段寄送相应的产品优惠卷。
Target的例子是一个很典型的案例,这样印证了维克托·迈尔-舍恩伯格提过的一个很有指导意义的观点:通过找出一个关联物并监控它,就可以预测未来。
Target通过监测X者X商品的时间和品种来准确预测顾客的孕期,这就是对数据的二次利用的典型案例。如果,我们通过采集驾驶员手机的GPS数据,就可以分析出当前哪些道路正在堵车,并可以及时发布道路交通提醒;通过采集汽车的GPS位置数据,就可以分析城市的哪些区域停车较多,这也代表该区域有着较为活跃的人X,这些分析数据适合卖给广告投放商。不管大数据的核心价值是不是预测,但是基于大数据形成决策的模式已经为不少的企业带来了盈利和声誉。
和大数据相关的技术
简单说有三大核心技术:拿数据,算数据,卖数据。
一、数据采集与预处理
对于各种来源的数据,包括移动互联网数据、社交网络的数据等,这些结构化和非结构化的海量数据是零散的,也就是所谓的数据孤岛,此时的这些数据并没有什么意义,数据采集就是将这些数据写入数据仓库中,把零散的数据整合在一起,对这些数据综合起来进行分析。
二、数据存储
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和新兴的网易有数等。
在上面的每一个阶段,保障数据的安全是不可忽视的问题。
其他网友回答
大数据技术太多了,在这其实很难回答清楚,如果你是小白的话想重试大数据技术,你可以去B占搜索大数据先学学相关的入门课程