实习3个月大数据开发的一点理解

     大数据是什么呢?对于我刚进去的我来说只知道数据量大,但还不清楚数据量大有什么影响。在接下来我接手了公司的项目有了更深刻的了解。

     一般的项目中,后台一般都会有增删改查,数据都是直接返回给页面的,处理的数据量也不是很大,能很快返回。但是到了大数据项目,前台的BI要求不仅仅是直接返回数据了,而是具体到实际应用。比如说我想知道成绩表中,60以下,60-70,70-80,80-90,90-100,各个成绩的人数是多少;我想知道每一个学院不及格人数对比前年的不及格人数增加了还是减少了等等实际的问题。如果在Java的逻辑层中直接返回数据库中的数据在对数据做相应的筛选和合并,结果需要非常久的时间,因为成绩表一学期大概就有80万条。如果每一种具体的实际业务都用后台来处理,页面数据加载将会非常的慢,而且对于Mysql的压力会非常的大。

      在企业当中一般会使用Hive来对数据进行存储,用Hadoop来构建分布式计算。这样就能够处理快速的处理大量的数据,并且得到页面所需要的数据。

        其实对于大数据项目而已,后台只是做查询和某些数据的合并返回给前台。大部分的业务逻辑都放在离线计算上。一般而言都是用SQL语句对Hive数据库进行数据的抽取和转换和计算,然后插入到Mysql当中。

        其中数据转换或者叫数据清洗是最为复杂和烦恼的过程,我遇到比较多的情况是在业务系统中往往出现大量的空字段和数据的格式不符合要求。往往是经过计算后,得出的结果不正确,又要回头去寻找哪些数据为空或者出现数据不正确。

你可能感兴趣的:(大数据)