Kafka到Hdfs的数据Pipeline整理

Kafka到Hdfs的数据Pipeline整理

大家好,又见面了,我是你们的朋友全栈君。

找时间总结整理了下数据从Kafka到Hdfs的一些pipeline,如下

1> Kafka -> Flume –> Hadoop Hdfs

常用方案,基于配置,需要注意hdfs小文件性能等问题.

GitHub地址:  https://github.com/apache/flume

2> Kafka -> Kafka Hadoop Loader ->Hadoop Hdfs

Kafka Hadoop Loader通过为kafka Topic下每个分区建立对应的split来创建task实现增量的加载数据流到hdfs,上次消费的partition offset是通过zookeeper来记录的.简单易用.

GitHub地址:  https://github.com/michal-harish/kafka-hadoop-loader

3> Kafka -> KaBoom -> Hadoop Hdfs

KaBoom是一个借助Krackle(开源的kafka客户端,能极大的减少对象的创建,提高应用程序的性能)来消费kafka的Topic分区数据随后写如hdfs,利用Curator和Zookeeper来实现分布式服务,能够灵活的根据topic来写入不同的hdfs目录.

GitHub地址:  https://github.com/blackberry/KaBoom

4> Kafka -> Kafka-connect-hdfs -> Hadoop Hdfs

Confluent的Kafka Connect旨在通过标准化如何将数据移入和移出Kafka来简化构建大规模实时数据管道的过程。可以使用Kafka Connect读取或写入外部系统,管理数据流并扩展系统,而无需编写新代码.

GitHub地址:  https://github.com/confluentinc/kafka-connect-hdfs

5> Kafka -> Gobblin -> Hadoop Hdfs

Gobblin是LinkedIn开源的一个数据摄取组件.它支持多种数据源的摄取,通过并发的多任务进行数据抽取,转换,清洗,最终加载到目标数据源.支持单机和Hadoop MR二种方式,而且开箱即用,并支持很好的扩展和二次开发.

GitHub地址:  https://github.com/linkedin/gobblin

参考资料:

https://www.confluent.io/blog/how-to-build-a-scalable-etl-pipeline-with-kafka-connect

http://gobblin.readthedocs.io/en/latest/Getting-Started/

http://gobblin.readthedocs.io/en/latest/case-studies/Kafka-HDFS-Ingestion/

https://github.com/confluentinc/kafka-connect-blog

http://docs.confluent.io/3.1.1/connect/connect-hdfs/docs/index.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/107415.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 全面详解c语言使用cJSON解析JSON字符[通俗易懂]

    全面详解c语言使用cJSON解析JSON字符[通俗易懂]为什么选择cJSON来解析JSON字符串?因为简洁又简单,而且效率又快,cJSON工程文件也非常简单,仅一个.c文件和一个.h文件!如果要自己写的话就是重造轮子了,况且效率上也不一定会比cJSON更好!且文件体积大小不到30k,源代码思路也非常清晰,也非常适合研究。点我下载cJSON当我们下载好cJSON只需要把.c和.h文件包含文件拷贝到我们工程目录下,并将头文件和实现文件…

  • 求余运算符_取余运算规则

    求余运算符_取余运算规则笔记摘自《极客学院》求余运算(a%b)是计算b的多少倍刚刚好可以容入a,返回多出来的那部分(余数)。注意:求余运算(%)在其他语言也叫取模运算。然而严格说来,我们看该运算符对负数的操作结果,&

  • ORM常用字段介绍

    Django中的ORMDjango项目使用MySQL数据库1.在Django项目的settings.py文件中,配置数据库连接信息:2.在Django项目的__init__.py文件中写如下

  • 设置smtp服务器信息,SMTP服务器设置(IIS6.0)

    设置smtp服务器信息,SMTP服务器设置(IIS6.0)由IIS提供的简单邮件传输协议(SMTP)服务交付传出电子邮件的简单组件。消息的递送由消息传送到一个指定的SMTP服务器发起。根据收件人的电子邮件地址的域名,SMTP服务器启动与域名系统(DNS)服务器,它抬起头,然后返回该域的目标SMTP服务器的主机名通信。接下来,发起SMTP服务器直接通过传输控制协议/Internet协议(TCP/IP)端口25上的目标SMTP服务器通信,如果收件人的…

  • 十、模板方法模式—制作更多好喝的饮品! #和设计模式一起旅行#

    无规矩不成方圆!故事背景在安装了酷炫了碉堡了的灯之后,我饿设计模式MM经营的奶茶店生意更加火爆,有不同国家的顾客,那么为了满足更多消费者的口味,我们推出了中国龙井苹果茶和叶门摩卡牛奶咖啡。其中制作的过程:把水烧开将咖啡/茶叶放到杯子里用沸水冲泡加入牛奶/苹果汁下面用代码来表示茶和咖啡的制作过程!//龙井苹果茶制作public class LongJi…

  • thinkphp多用户在线客服系统源码-thinkPHP内核 附使用教程

    thinkphp多用户在线客服系统源码-thinkPHP内核 附使用教程步骤1请使用宝塔面板安装上传源码并且解压到网站很目录设置运行目录为public测试环境为php5.6mysql5.5伪静态选择为thinkphp宝塔安全放通:2080,9090这两个端口步骤2上方操作完毕后创建个数据库进行安装网站安装http://你的域名.com/install.php步骤3启动命令制定目录cd/www/wwwroot/你的网站目录/cgwl_pusher启动指令phpstart.phpstart-d如果没有运作起来根目录有个php5.6.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号