请选择 进入手机版 | 继续访问电脑版
1200 1

写给大数据开发初学者的话(二) [推广有奖]

  • 0关注
  • 4粉丝

讲师

25%

还不是VIP/贵宾

-

威望
0
论坛币
970 个
通用积分
6.4818
学术水平
3 点
热心指数
4 点
信用等级
0 点
经验
4236 点
帖子
811
精华
0
在线时间
1 小时
注册时间
2014-8-28
最后登录
2017-12-12

我有我的love 在职认证  发表于 2017-12-6 15:54:07 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

写给大数据开发初学者的话(二)


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


点击进入21世纪大数据人才汇聚领域』

点击进入21世纪数据分析精英聚集地』

点击进入21世纪大数据高薪就业领地』


0和Hadoop2.0的区别;

MapReduce的原理(还是那个经典的题目,一个10G大小的文件,给定1G大小的内存,如何使用Java程序统计出现次数最多的10个单词及次数);

HDFS读写数据的流程;向HDFS中PUT数据;从HDFS中下载数据;

自己会写简单的MapReduce程序,运行出现问题,知道在哪里查看日志;

会写简单的SELECT、WHERE、GROUP BY等SQL语句;

Hive SQL转换成MapReduce的大致流程;

Hive中常见的语句:创建表、删除表、往表中加载数据、分区、将表中数据下载到本地;

从上面的学习,你已经了解到,HDFS是Hadoop提供的分布式存储框架,它可以用来存储海量数据,MapReduce是Hadoop提供的分布式计算框架,它可以用来统计和分析HDFS上的海量数据,而Hive则是SQL On Hadoop,Hive提供了SQL接口,开发人员只需要编写简单易上手的SQL语句,Hive负责把SQL翻译成MapReduce,提交运行。


此时,你的”大数据平台”是这样的:


那么问题来了,海量数据如何到HDFS上呢?


第三章:把别处的数据搞到Hadoop上


此处也可以叫做数据采集,把各个数据源的数据采集到Hadoop上。


3.1 HDFS PUT命令

这个在前面你应该已经使用过了。


put命令在实际环境中也比较常用,通常配合shell、python等脚本语言来使用。


建议熟练掌握。


3.2 HDFS API

HDFS提供了写数据的API,自己用编程语言将数据写入HDFS,put命令本身也是使用API。

实际环境中一般自己较少编写程序使用API来写数据到HDFS,通常都是使用其他框架封装好的方法。比如:Hive中的INSERT语句,Spark中的saveAsTextfile等。

建议了解原理,会写Demo。


3.3 Sqoop

Sqoop是一个主要用于Hadoop/Hive与传统关系型数据库Oracle/MySQL/SQLServer等之间进行数据交换的开源框架。

就像Hive把SQL翻译成MapReduce一样,Sqoop把你指定的参数翻译成MapReduce,提交到Hadoop运行,完成Hadoop与其他数据库之间的数据交换。


自己下载和配置Sqoop(建议先使用Sqoop1,Sqoop2比较复杂)。

了解Sqoop常用的配置参数和方法。

使用Sqoop完成从MySQL同步数据到HDFS;

使用Sqoop完成从MySQL同步数据到Hive表;


PS:如果后续选型确定使用Sqoop作为数据交换工具,那么建议熟练掌握,否则,了解和会用Demo即可。


3.4 Flume

Flume是一个分布式的海量日志采集和传输框架,因为“采集和传输框架”,所以它并不适合关系型数据库的数据采集和传输。

Flume可以实时的从网络协议、消息系统、文件系统采集日志,并传输到HDFS上。

因此,如果你的业务有这些数据源的数据,并且需要实时的采集,那么就应该考虑使用Flume。


下载和配置Flume。

使用Flume监控一个不断追加数据的文件,并将数据传输到HDFS;


PS:Flume的配置和使用较为复杂,如果你没有足够的兴趣和耐心,可以先跳过Flume。


3.5 阿里开源的DataX

之所以介绍这个,是因为我们公司目前使用的Hadoop与关系型数据库数据交换的工具,就是之前基于DataX开发的,非常好用。

可以参考我的博文《异构数据源海量数据交换工具-Taobao DataX 下载和使用》。

现在DataX已经是3.0版本,支持很多数据源。

你也可以在其之上做二次开发。


PS:有兴趣的可以研究和使用一下,对比一下它与Sqoop。


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


第四章:把Hadoop上的数据搞到别处去


前面介绍了如何把数据源的数据采集到Hadoop上,数据到Hadoop上之后,便可以使用Hive和MapReduce进行分析了。那么接下来的问题是,分析完的结果如何从Hadoop上同步到其他系统和应用中去呢?


其实,此处的方法和第三章基本一致的。


4.1 HDFS GET命令

把HDFS上的文件GET到本地。需要熟练掌握。


4.2 HDFS API

同3.2.


4.3 Sqoop

同3.3.

使用Sqoop完成将HDFS上的文件同步到MySQL;

使用Sqoop完成将Hive表中的数据同步到MySQL;


4.4 DataX

同3.5.


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



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:大数据开发 初学者 大数据

希望之剑 在职认证  发表于 2018-8-18 11:54:19 |显示全部楼层 |坛友微信交流群
谢谢分享

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 18:49