首页 > 编程知识 正文

大数据为什么叫big data,big data大数据时代

时间:2023-05-06 15:50:50 阅读:261364 作者:3025

一 什么是大数据?

大数据(big data),IT行业术语,P级甚至是E级数据级,是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

三个案例

19g 的txt文件 : 无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合
买枪案例 : 洞察发现力
啤酒和尿布案例 : 更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化

在犹豫的棉花糖及凶狠的小蘑菇编写的《大数据时代》 [1] 中大数据指不用随机分析法(抽样调查)这样捷径,而采用所有数据进行分析处理。大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。

Value(低价值密度) 一条数据提取不到有价值的内容,海量数据集合在一起才能分析出有用的价值

所以大数据就是:海量数据及其处理方式

二 大数据生态圈介绍 1.数据获取 海量数据从哪里来? 爬虫: python , jsoup , nutch(最好的爬虫语言是python->语法简洁 编译运行速度特别慢)日志: flume 收集日志, log4j 打印日志历史数据: hive , mysql , Oracle趋势分析决定现在的行为和以后的计划.历史数据清除出当前业务系统,存储在数据仓库hive中计算: 科研领域进行大量的计算 2.数据清洗 进行数据的筛选sql清洗: 例如select name from user where age>18逻辑清洗:例如if(user!=null){.....} 清洗掉=null的数据 3.数据存储 hadoop.HDFS 分布式文件存储系统 高可用 开源 做海量数据存储 --> 目前最主流spark,hive,hbase...号称可以做海量存储,但底层全部是HDFS--还不开源. 4.数据计算 a) 离线计算:最常见 hadoop.MapReduce: A YARN-based system for parallel processing of large data sets. Hive ,SparkSql 用的较多,好用,底层还是hadoop的原理 补充知识 sqoopb) 在线计算(流式计算)三种计算引擎:storm (300~500ms一次计算) 速度最快,但是吞吐量低,相当于是单条计算sparkstreaming(3~5s一次计算) spark流式计算 速度稍慢,但是吞吐量很高 Flink 19.1月 被阿里收购,3月份 开源倒apache 最新的技术 速度快,吞吐量高消息队列MQ: Kafka 5.大数据可视化 echarts.js -- 结合html,css,js 做数据统计分析的展示工具 三 网站用户日志流量分析系统 1.JS埋点

例如:日志模块 aop切面收集日志,即埋点: 要想从此过,留下个人信息;

1>.埋点位置放在服务器端:截留用户请求中的信息(ip,登录信息,访问页面..);拖慢服务器处理业务的效率加重后端代码压力 2>.埋点位置放在用户终端(浏览器端),获取更详细的用户信息:用户所用机型,浏览器,分辨率,地理位置...,a> 收集到信息后如果发送到业务服务器:同样影响了服务器处理进度(处理js代码...) b> 专门创建日志收集服务器进行日志信息的预处理: 通过log4j把日志打印处理, 通过flume把打印出来的日志收集

需要编辑逻辑代码(前端只有js能编辑逻辑代码),所以又叫js埋点.

JS埋点优点:日志收集系统与业务系统相互独立,互不影响,不占用业务系统性能,能收集到更多更详细的用户信息。灵感: Nginx: 反向代理的特殊分支:动静分离(例如:host配置的 image.jt.com 172.0.0.1 - 图片上传/图片读取) 当用户读取商品列表时:ngnix从业务服务器获取动态资源,从图片服务器获取图片;图片和动态资源分别向用户返回,两个服务器共同完成一个请求的响应 更快!思路: 正常流程:浏览器<->业务服务器 额外流程:浏览器<-get?k=v&k=v->日志服务器:一个网页同时向两个服务器发送请求,传递数据!(只接收请求但是不响应)

大数据一般不使用复杂的框架,很多功能用不到,而且占用空间,处理慢,所以我们折中使用servlet ;优点:快,节省资源.

js中的三个重要函数

jt_set_cookie -- 给用户设置缓存jt_get_cookie -- 从用户获取缓存jt_get_random -- 标记用户;在线时长

八个重要指标

1. PV:点击量,一条日志就是一个点击量,越高越好。2. UV:独立访客数,通过cookie记录uvid,用户每次访问带着cookie,系统识别是新的还是之前的,越高越好。3. VV:独立会话数,通过cookie记录ssid,记录不同的ssid数量,体现时间段内所有用户一共访问了多少次,越高越好。4. BR:跳出率,只访问一个页面就走了的会话/所有的独立会话,越低越好。5. NewIP:新增独立IP,历史数据中(ip)没有出现过的访客IP地址数量, 越高越好,反映用户增长量,反映系统生命力。6. NewCust:新增独立访客,历史数据中(uvid)没有出现过的独立访客,越高越好。7. AvgTime:平均在线时长,所有会话的时长总和/会话数量,越高越好。8. AvgDeep:平均访问深度,一个会话的访问页面数量叫做访问深度,每个会话的访问深度之和/会话数量。越高越好。

得到数据后, flume 会将数据分流到 离线数据和在线数据

离线:HDFS存储 Hive离线处理 sqoop转存到mysql 展示到echarts在线:Kafka流量削峰 flink在线处理 ;实时数据存储到mysql,展示 或使用solr(ES 快一点)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。