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

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 8个hybridapp开发工具_android hybrid

    8个hybridapp开发工具_android hybridHybridApp(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“NativeApp良好用户交互体验的优势”和“WebApp跨平台开发的优势”。    HybridApp是指介于web-app、native-app这两者之间的app,它虽然看上去是一个NativeApp,但只有一个UIWebView,里面访问的是一个Web

    2022年9月16日
  • 详解java接口interface

    详解java接口interface引言接口这个词在生活中我们并不陌生。在中国大陆,我们可以将自己的家用电器的插头插到符合它插口的插座上;我们在戴尔,惠普,联想,苹果等品牌电脑之间传输数据时,可以使用U盘进行传输。插座的普适性是

    2022年7月2日
  • Linux下修改配置文件内容

    Linux下修改配置文件内容文件操作之修改配置文件内容在一些系统或者游戏运行时经常遇到一些情况需要修改一下配置文件的内容,比如游戏中任务升级了,需要修改人物等级,那么这是怎么完成的呢?好,我还是老规矩先来介绍一个函数,strstr一样的查看手册可以看到,该函数有两个参数,第一个参数要查询的字符串,第二个参数是目标子字符串,返回值是一个指针,指向子字符串的开头,如果没有那么返回NULL,什么意思呢,举个例子,比如CHINAENGLISH字符串,我要查找ENGLISH,使用strstr后,返回一个字符指针,指到E位置。好,介绍完

    2022年7月26日
  • PYTHON 2021.5.3激活码【在线注册码/序列号/破解码】

    PYTHON 2021.5.3激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
  • python3 zipfile_Python之zipfile模块的使用[通俗易懂]

    python3 zipfile_Python之zipfile模块的使用[通俗易懂]1、判断是否是zip文件#!/usr/bin/envpython3#encoding:utf-8importzipfilefilenames=[‘tcp_server.py’,’test.py’,’test.zip’]forfilenameinfilenames:print(‘{:>15}{}’.format(filename,zipfile.is_zipfile(fil…

    2022年9月17日
  • select into from 与 insert into select用法详解

    select into from 与 insert into select用法详解selectintofrom和insertintoselect都被用来复制表结构和表中数据,两者的主要区别为:selectintofrom要求目标表不存在,因为在插入时会自动创建。insertintoselectfrom要求目标表已存在数据库中。一、INSERTINTOSELECT语句  1、语句形式为:

    2022年7月15日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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