微信搜索lxw1234bigdata | 邀请体验:数阅–数据管理、OLAP分析与可视化平台 | 赞助作者:赞助作者

写给大数据开发初学者的话3

大数据平台 lxw1234@qq.com 15288℃ 1评论

如果你已经按照《写给大数据开发初学者的话2》中第三章和第四章的流程认真完整的走了一遍,那么你应该已经具备以下技能和知识点:

  1. 知道如何把已有的数据采集到HDFS上,包括离线采集和实时采集;
  2. 你已经知道sqoop(或者还有DataX)是HDFS和其他数据源之间的数据交换工具;
  3. 你已经知道flume可以用作实时的日志采集;

从前面的学习,对于大数据平台,你已经掌握的不少的知识和技能,搭建Hadoop集群,

把数据采集到Hadoop上,使用Hive和MapReduce来分析数据,把分析结果同步到其他数据源。

接下来的问题来了,Hive使用的越来越多,你会发现很多不爽的地方,特别是速度慢,

大多情况下,明明我的数据量很小,它都要申请资源,启动MapReduce来执行。

第五章:快一点吧,我的SQL

其实大家都已经发现Hive后台使用MapReduce作为执行引擎,实在是有点慢。

因此SQL On Hadoop的框架越来越多,按我的了解,最常用的按照流行度依次为SparkSQL、Impala和Presto.

这三种框架基于半内存或者全内存,提供了SQL接口来快速查询分析Hadoop上的数据。关于三者的比较,请参考1.1.

我们目前使用的是SparkSQL,至于为什么用SparkSQL,原因大概有以下吧:

  1. 使用Spark还做了其他事情,不想引入过多的框架;
  2. Impala对内存的需求太大,没有过多资源部署;

5.1 关于Spark和SparkSQL

什么是Spark,什么是SparkSQL。
Spark有的核心概念及名词解释。
SparkSQL和Spark是什么关系,SparkSQL和Hive是什么关系。
SparkSQL为什么比Hive跑的快。

5.2 如何部署和运行SparkSQL

Spark有哪些部署模式?
如何在Yarn上运行SparkSQL?
使用SparkSQL查询Hive中的表。

PS: Spark不是一门短时间内就能掌握的技术,因此建议在了解了Spark之后,可以先从SparkSQL入手,循序渐进。

关于Spark和SparkSQL,可参考 http://lxw1234.com/archives/category/spark

如果你认真完成了上面的学习和实践,此时,你的”大数据平台”应该是这样的:

lxw1234

第六章:一夫多妻制

请不要被这个名字所诱惑。其实我想说的是数据的一次采集、多次消费。

在实际业务场景下,特别是对于一些监控日志,想即时的从日志中了解一些指标(关于实时计算,后面章节会有介绍),这时候,从HDFS上分析就太慢了,尽管是通过Flume采集的,但Flume也不能间隔很短就往HDFS上滚动文件,这样会导致小文件特别多。

为了满足数据的一次采集、多次消费的需求,这里要说的便是Kafka。

6.1 关于Kafka

什么是Kafka?

Kafka的核心概念及名词解释。

6.2 如何部署和使用Kafka

使用单机部署Kafka,并成功运行自带的生产者和消费者例子。
使用Java程序自己编写并运行生产者和消费者程序。
Flume和Kafka的集成,使用Flume监控日志,并将日志数据实时发送至Kafka。

关于Kafka,可以参考 http://lxw1234.com/archives/category/kafka

如果你认真完成了上面的学习和实践,此时,你的”大数据平台”应该是这样的:

lxw1234

这时,使用Flume采集的数据,不是直接到HDFS上,而是先到Kafka,Kafka中的数据可以由多个消费者同时消费,其中一个消费者,就是将数据同步到HDFS。

 

以下章节正在整理中,请持续关注 lxw的大数据田地

第七章:越来越多的分析任务

第八章:我的数据要实时

第九章:我的数据要对外

第十章:牛逼高大上的机器学习


 

 

 

 

 

如果觉得本博客对您有帮助,请 赞助作者

转载请注明:lxw的大数据田地 » 写给大数据开发初学者的话3

喜欢 (20)
分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. Kafka到HDFS有什么推荐的工具没,一般存储为什么格式,才能方便后面的分析操作呢?谢谢!
    Riordon2016-12-07 10:49 回复