sqoop flume学习笔记

1:mapreduce读取MySQL数据库中的数据,就可以通过更换组件,inputformat抽象类不是接口,有默认实现就是textinputformat,读取MySQL数据库的时候只需要更换为DBinputformat就可以了;像sqoop 本身做的就是这种事情。sqoop相当于是帮我实现好了多种数据源和多种数据目的地的mapreduce程序;对大家的建议就是这种sqoop组件其实特别适合自己研究搞定,以后的路基本还是靠大家自己去走,而且大数据技术更新换代很快的,所以有一个好的自学能力很重要的。
2:flume:
角色分析中提到解耦设计思想,为什么有抽取,管道,和存放三种组件;
channel:1:memory 2:file;
flume的官网介绍多种模型,
1:留了一个疑问就是一个agent是不是可以有多个source?
2:多种组合方式:
a:一个agent实现数据的迁移工作,从磁盘到hdfs;
b:一个agent再接一个agent,上一个agent的sink连接下一个agent的source;
3:一个agent中配置多个channel和多个sink,每个sink可以单独配置自己的外界存储介质;比如:hdfs,java 消息系统,如kafka;

flume的安装和部署
flume1.7,解压后修改配置文件:只设置下javahome即可使用;flume应该是使用java编写的;
提高1.99不能使用,有问题,今天可能测试没问题了;介绍了cdh,daogecating在这家公司,主要是解决了hadoop生态圈大数据技术栈中的各个组件的兼容问题;既有免费版又有收费版本;
flume中组件介绍的source读取文件,存入channel中相当于一个队列先进先出,然后是sink写出数据;
第一个案例是使用flume接收端口中的数据然后输出到控制台:
1:发送数据到指定端口使用的telnet 命令,瑞士军刀命令也可以:nc 脑残命令;
2:yum仓库的问题,/etc/yum.conf中可以配置yum命令安装时拉取的安装文件可以缓存下来,指定缓存路径并打开缓存开关;
3:Linux命令补充:文件夹或者文件名称中有空格的时候:指定这个名称时需要加单引号或者空格,Linux中'':忽略所有特殊字符,
""双引号是忽略大部分特殊字符认为是字符串,但是比如:$""就不会忽略;``:是获取命令的执行结果;
4:具体如何使用flume是结合着官网的simple example进行讲解,
flume的使用非常简单主要是通过类似脚本文件进行配置即可,如何配置就通过官网的案例进行的讲解;在配置中讲解了如何定义每个组件如source,以及source的tpye,以及如何最终把三个组件组合起来;区分一点就是一个source可以指定多个channel,一个channel只能绑定一个sink;

猜你喜欢

转载自www.cnblogs.com/kukudetent/p/9644522.html
今日推荐