大数据开发和java开发有什么不同?

大数据开发和java开发有什么不同?最近发现有些同学并不太了解大数据开发工程师这个职位,所以想简单介绍一下什么是大数据开发工程师,当前互联网公司的数据开发到底是什么样子的?和一般的Java或者PHP工程师在工作上有什么区别?什么不是大数据开发?仅使用数据库(关系型mysql,sqlserver,oracle等非关系型mongoredis等),尽管数据量达到千万级别,亿级别不是大数据开发。从业务系统的数据库中查询数据…

大家好,又见面了,我是你们的朋友全栈君。

最近发现有些同学并不太了解大数据开发工程师这个职位,所以想简单介绍一下什么是大数据开发工程师,当前互联网公司的数据开发到底是什么样子的?和一般的Java或者PHP工程师在工作上有什么区别?

什么不是大数据开发?

仅使用数据库(关系型mysql,sqlserver,oracle等 非关系型 mongo redis等),尽管数据量达到千万级别,亿级别不是大数据开发。

从业务系统的数据库中查询数据然后产出报表不是大数据开发。

端上(页面,h5,手机native)埋点上报数据记录到数据库中不是大数据开发。

什么是大数据开发?

1. 大数据开发需要的技能

到智联上搜了一下大数据开发工程师这个职位,随便点了几个职位,截图如下:

 

大数据开发和java开发有什么不同?

 

 

大数据开发和java开发有什么不同?

 

 

所以说,现在互联网公司所指的大数据开发用到的工具是:hadoop,hive,hbase,spark,kafka等。

2. 大数据开发做的事情

精简到一个词语就是:统计

精简到两类指标就是:PV和UV

精简到一句话就是:统计各种指标的PV和UV

PC互联网时代,各门户网站(比如:新浪,网易,搜狐)关注的是各自网站今天被打开了几次(pv),今天有多少人(uv)访问了网站。更复杂一点的比如:想系统学习大数据的话,可以加入大数据技术学习交流扣扣君羊:522189307

页面上某个按钮或者某个连接有多少人点击了几次

某个页面上的热力图(点击地方越多,图上颜色越重)

移动互联网时代,手机应用被用户打开的次数和人数也是大家关注的重点,但是除此之外还多出了许多其他非常重要的数据,由于手机屏幕的限制,信息流成为了移动时代的主流。

各大门户网站非常关注自己的新闻客户端中:在信息流中曝光了多少篇文章,其中有多少篇文章被用户点击了。每篇文章阅读了长时间,因为用户点击的文章越多,使用客户端的时间越长,各公司的广告收入才越高,所以各公司想方设法推荐用户喜欢的内容。

3. 如何做这些事情

因为网站的浏览行为,手机客户端中文章的曝光或者点击这些数据非常大,基本以亿为单位起。所以传统的把统计信息放到数据库中的方式已经不能完成这项统计工作。(例如:wordpress博客中,用户每阅读一篇文章,mysql中就会更新这篇文章的阅读次数+1)

所以大数据是通过日志来统计这些指标。

比如:后台服务的日志(apache,tomcat,weblogic,nginx日志)

例如下图,我的个人网站apache服务的access日志。

 

大数据开发和java开发有什么不同?

 

 

日志的url字段中以 /年份(红色部分)开头行数就是这个网站文章页被访问的次数,以/category(蓝色部分)开头的行数就是这个网站分类目录被访问的次数。

当然我的这份日志中是统计不了用户数的,因为用户数的统计需要在每条日志上记录当前用户的唯一标识,然后再做个去重,去重后的数量就是用户数,但是这里没有上报用户的唯一标识。

那如何统计人数呢,一般互联网公司会自己在页面或者客户端上生成一个用户的唯一标识,然后主动上报到自己的日志服务器上。

大数据主要难点在于:

日志量太大(一般大点的互联网公司,一个业务线每天的日志都有几个t,再大些的每天几十t,几百t也不奇怪),需要掌握大数据相关技术例如前面提到的hadoop,hive等。

数据的及时性,从离线计算来说,一般每天零点,前一天的日志都接收完毕,开始计算前一天的数据,几点能计算完毕?要看各个公司各自的要求。

数据的准确性。(这是重中之重,大数据开发的工作就是统计,统计的数据如果不准….)如果是实时计算,需要掌握实时相关技术。例如:每5分钟网站的在线人数。

监控监控监控:监控任务是否失败,数据是否产出,产出的数据是否异常。

容灾容灾容灾:如果任务失败如何补救。比如实时任务,由于某种原因13:00到14:00的数据没有,如何把数据补回来。

大数据开发和一般业务开发的对比

在转做大数据开发之前,一直在用Java作业务系统: 例如hr系统(考勤,薪资等),收费系统。

谈谈我个人对业务系统开发和大数据开发的理解:

业务系统:

一句话:对数据库的各种增删改查操作。

重点难点在于:

对复杂业务的理解上(比如计算工资:基本工资,五险一金,全勤奖,高温补贴,报销,奖金,加班费…..等等都需要计算)。

线上服务的稳定,比如facebook,淘宝等网站高并发的压力下维持网站正常运行。

大数据开发

一句话:对字符串的各种算数。

重难点在于:

数据的及时性。例如实时数据中,想知道 12:00~12:10这10分钟的用户数,如果这个数据在晚上20点才计算完成,那就没什么意义了。再比如,大家应该都有体验过:在手机上刷新闻的时候,你点了某一篇文章,再继续刷新闻,后面很快会出来不少和前面点击的那篇文章类似的文章,这就是根据你的点击给你及时推荐你有更大可能点的东西。

数据的准确性。这个重要性不言而喻

数据的稳定性和容灾。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140693.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 黑盒测试方法的选择策略_选择策略

    黑盒测试方法的选择策略_选择策略

    2022年10月3日
    1
  • Js实用函数合集

    Js实用函数合集随机数生成器Math.random()转换为整数parseInt()日期时间函数(需要用变量调用):varb=newDate();//获取当前时间b.getTime()//获取时间戳b.getFullYear()//获取年份b.getMonth()+1;//获取月份b.getDate()//获取天b.getHours()//获取小时b.getMinutes()//获取分钟b.getSeconds()//获取秒数b.getDay()//获取星期几b.get

    2022年7月27日
    4
  • 一叶知秋,一个 LED 就能入门 Linux 内核「建议收藏」

    一叶知秋,一个 LED 就能入门 Linux 内核「建议收藏」简单点灯最近项目上需要用到LED子系统,在嵌入式Linux里面点个灯还是比较简单的,只要在某个灯对应的目录里,向相应文件写入特定值,就可以让LED亮/灭/闪烁。#echo1>/sys/class/leds/green/brightness//点亮LED#echo0>/sys/class/leds/green/brightness//熄灭LED#echoheartbeat>/sys/class/leds/green/trigger//

    2022年7月16日
    20
  • 阿里云服务器开放端口如何设置_阿里云服务器8888端口

    阿里云服务器开放端口如何设置_阿里云服务器8888端口阿里云服务器开放端口阿里云服务器默认是只开放了部分端口,我们部署自己的服务需要监听一下80,8080等端口时,就需要自己设置安全策略,本文介绍如何设置阿里云的安全组,开放需要的端口步骤点击阿里云的的控制台点击进入云服务器点击进入安全组菜单,点击创建安全组按钮,添加一个新的安全组2.进入创建新安全组页面填写一下必要的信息,然后配置访问规则,包括入站和出站,点击手动添加一条,设置开放所有的端口,包括端口和授权对象,点击创建安全组按钮,将创建一条新的安全组出站我们也可以配置,默

    2022年10月3日
    2
  • Isona-0.0.1发布,spring4all社区打造的微服务管理工具,欢迎吐槽与共同完善「建议收藏」

    Isona-0.0.1发布,spring4all社区打造的微服务管理工具,欢迎吐槽与共同完善

    2022年3月13日
    44
  • 安捷伦示波器使用说明书_安捷伦信号发生器使用方法

    安捷伦示波器使用说明书_安捷伦信号发生器使用方法本帖最后由god_blessme于2017-9-1913:45编辑小弟最近在搞一个程序,是要读取安捷伦示波器每一屏数据并储存,网上貌似对于tek示波器连接的比较多,安捷伦的超级少,所以大部分是自己看着改的命令,现在碰到的问题很奇葩,运行程序后一个figure显示的数据是正确的,一个figure显示的是错误的。然而我在循环里把waveform_YIncrement变量的注释去掉的话,fig…

    2022年10月12日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号