kafka contrib包之hadoop-consumer分析

近来由于项目需要,要使用到kafka作为数据的中转站,所有的数据都会进入到kafka,再流向数据使用方,有在线的spark,有离线的spark sql;但作为离线的使用,一般数据存入于hdfs之上,为了分析的方便。我一贯的经验是建目录类似于DB的shema存放。因此这就需要有一个hadoop-consumer完成数据从kafka到hadoop的ETL。在kafka官网上有一个极短的介绍kafka源码contrib包就是专门做这些事情的。为些花了一时间去学习。


hadoop-consumer主要使用了lower Api去创建consumer,不像high api读起来顺畅。不过幸好有hadoop基础,关linkedin也不陌生,使用过他们的azkaban,也小看过源码。里面半于hadoop conf的创建一如即往的像azkaban。这块没问题。源码分析图如下:



修改适合自己环境的参数/test/test.properties文件,先运行kafka.etl.impl.DataGenerator,会创建一个生产者生成测试数据。

再运行kafka.etl.impl.SimpleKafkaETLJob。提前将相关jar上传到hdfs路径下,具体位置在/test/test.properties配置。job执行完后会在相应该目录下生成如下文件:




仔细看了下,part是kafka数据,offset是kafka数据偏移信息。这只是kafka官方给出的一个小例子,远达不到生产的需求。还需进一步学习,但从官网了解到linkedin有一个专门的项目用于kafka与hadoop的衔接,

  • Camus - LinkedIn's Kafka=>HDFS pipeline. This one is used for all data at LinkedIn, and works great.

先写到这里,会不断的再分享,未完待续(第一次写博客)...



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值