大数据到底应该如何学?大数据生态圈技术组件解析
上面介绍了和大数据相关的两个主要工作岗位,其实与大数据相关的岗位还有很多,真正归纳起来,ETL工程师也可以说擦边,因为随着数据量的不断增大,无论是****内部还是大数据服务公司都在从传统ETL工具向大数据集群进行过渡。 涉及到了这么多的技术点,如何学习才更加高效呢?首先好入门的自然是大数据开发,对于Linux的操作系统和编程语言的部分没什么过多说明的,不要觉得有些东西没用就跳过,有些时候编程思想和解决问题的方法同样很重要,课本上有的一定要扎实。对于和大数据相关的组件,看上去十分的繁杂,很多小伙伴可能都是钻研于每个组件的用法、算子、函数、API,这当然没有错,但是同时一定不要忘记埋在其中的主线,那就是:完整的数据分析流程。在学习的过程中一定要了解各组件的特点、区别和应用的数据场景。 1. 离线计算 在离线计算场景下,使用的都是历史数据,也就是不会再发生改变的数据。在数据源确定以后,这些数据不会再增加、也不会再更新,比较适合对实时性要求不高的场景。大多数情况下是周期性的计算某一个指标或执行一个Job,运算耗时基本上可以控制在分钟级。 数据源:数据文件、数据库中的数据等 数据采集:Sqoop、HDFS数据上传、Hive数据导入等 数据存储:HDFS 数据分析:MapReduce、Hive QL 计算结果:Hive结果表(HiveJDBC查询)、导出至关系型数据库 2. 实时计算 实时计算所面对的数据是不断的流入的,要能够使用合适的组件处理实时流入的数据。有些时候单位时间内的数据流入会比较多,消费的比较慢。有些时候单位时间内的数据流入会比较少,消费的会比较快。所以在采集数据时一方面要保证数据不丢失,同时还需要有中间件来管理好数据。在进行实时计算时可以使用微批次的方式也可以使用其他方式,同时要处理好计算结果合并的问题,实时展示最新的结果。 数据源:日志文件增量监听等 数据采集:Flume 中间件:Kafka 数据分析:Spark-Streaming,Flink等 计算结果:HBase 以上只是简单的列举了一些实现不同场景数据流程的组件整合方案,诣在告诉大家一定要善于发现和总结不同组件的特点,把合适的组件放在合适的位置,这也是面试官经常喜欢问的场景题目。 其实每个组件的使用方法和调用API并没有很复杂,重点还是在于流程化、一体化、把组件之间连接起来,不断的渗透和强化数据分析和处理的思路,能够把一个需求直接翻译成数据分析方案,这才是学习的重点。
(编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |