flume、azkaban、sqoop小操作

1 篇文章 0 订阅
1 篇文章 0 订阅

flume 日志采集工具

agent 任务 source channel sink
netcat 想相当于开启了socket进行接收
spooldir 检测文件夹,但是内部不要再有文件夹,而且不要放重名文件,否则处理后发现有重名文件会报错
exec unix命令的执行结果作为要接受的数据 例如 tail -F xxx.log
avro 常用于RPC,远程数据传输,在agent串联中作为上一个agent下沉地出现

azkaban

azkaban环境配置
azkaban-executor-server-2.5.0.tar.gz 存放了执行器
azkaban-sql-script-2.5.0.tar.gz 存放azkaban运行的需要的sql(sql导入完就没用了)
azkaban-web-server-2.5.0.tar.gz 存放web服务器

解压后
azkaban-2.5.0 sql解压
create-all-sql-2.5.0.sql 完整的sql文件,只执行它就够了
azkaban-executor-2.5.0 执行器解压
启动、关闭执行器
在bin下 azkaban-executor-shutdown.sh azkaban-executor-start.sh
azkaban-web-2.5.0 web解压后
启动、关闭web服务器 azkaban-web-shutdown.sh azkaban-web-start.sh schedule2trigger.sh start-web.sh
azkaban.properties 设置时区、设置mysql信息、jetty密码等同于ssl密钥
azkaban-users.xml 设置登录azkaban的用户及其权限

设置ssl
keytool -keystore keystore -alias jetty -genkey -keyalg RSA

azkaban 工作流调度器
通过command命令来执行
type=command
command=真正要执行的命令
在执行的时候经常要执行多个job,需要有先后顺序
dependencies=job的名称
来指定我当前要执行的job依赖于哪个job,在依赖的这个job执行完再来执行我
除了可以执行linux基础命令
hdfs的命令也可以执行
可以执行MapReduce
job中设置要执行的MapReduce的命令,命令中用到的要执行的jar包,要和job一起压缩并上传
hive命令也能执行
hive -e;
hive -f ‘文件名’;
这时候不光要上传job本身,还要上传对应的文件,将job和文件一起压缩打包上传

sqoop

从关系型数据库导入数据到hdfs
因为未指定到存到hdfs的哪个目录下,所以默认会存在/user/用户名/表名 下
./sqoop import --connect jdbc:mysql://192.168.15.134:3306/gmjsqoop --username root --password hadoop --table users --m 1

如果不想使用默认路径 可以使用自定义路径
增加配置–target-dir /sqooptable/users(即想要存的路径)
./sqoop import --connect jdbc:mysql://192.168.15.134:3306/gmjsqoop --username root --password hadoop --target-dir /sqooptable/users --table users --m 1

设置分隔符
./sqoop import --connect jdbc:mysql://192.168.15.134:3306/gmjsqoop --username root --password hadoop --target-dir /sqooptable/users1 --table users --fields-terminated-by ‘\t’ --m 1

设置查询表中的规定数据
./sqoop import --connect jdbc:mysql://192.168.15.134:3306/gmjsqoop --username root --password hadoop --target-dir /sqooptable/users2 --table users --fields-terminated-by ‘\t’ --m 1 --columns name,pwd

将mysql数据导入hive
./sqoop import --connect jdbc:mysql://192.168.15.134:3306/gmjsqoop --username root --password hadoop --target-dir /sqooptable/users3 --table users --hive-import --m 1
在没有指定路径的情况下默认会在default数据库中存放,表名就是关系型数据库中的表名

设置将数据导入指定表中并设置表名
./sqoop import --connect jdbc:mysql://192.168.15.134:3306/gmjsqoop --username root --password hadoop --target-dir /sqooptable/users4 --table users --hive-import --m 1 --hive-table gmj.gmjsqoop

如果将关系型数据进行查询讯之后再导入hdfs
导入数据时追加条件 --where
使用查询语句 query $CONDITIONS必加
–query ‘select id from user where name = “xxx” and $CONDITIONS’
如果使用了–query要导入的数据就是我们查询出来的结果集了,就不要设置–table
./sqoop import --connect jdbc:mysql://192.168.15.134:3306/gmjsqoop --username root --password hadoop --target-dir /user/hadoop/users7 --m 1 --query ‘select id,name from users where $CONDITIONS’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值