Gobblin大数据集成工具入门指南
Gobblin大数据集成工具入门指南
【免费下载链接】linkedin_gobblin 项目地址: https://gitcode.com/gh_mirrors/li/linkedin_gobblin
概述
Gobblin是由LinkedIn开发的一款开源大数据集成工具,旨在简化不同数据源之间的数据抽取、转换和加载(ETL)过程。本文将详细介绍如何从零开始使用Gobblin,包括环境搭建、构建发行版、运行第一个作业以及配置守护进程模式。
环境准备
Gobblin运行需要以下基础环境:
- JDK 8或更高版本
- 基本的Linux命令行操作能力
- 约2GB可用磁盘空间用于构建和运行
获取与构建Gobblin
获取源代码
建议从官方渠道获取Gobblin的最新源代码包。获取后解压到本地工作目录。
构建发行版
进入源代码目录后,执行以下命令构建发行版:
./gradlew :gobblin-distribution:buildDistributionTar
此命令会生成一个包含完整Gobblin运行环境的tar.gz压缩包,位于build/gobblin-distribution/distributions/目录下。对于快速体验,这个精简构建就足够了。如果需要完整构建(包含测试、文档等),可以运行:
./gradlew build
构建完成后,解压生成的tar.gz文件:
tar -xvf gobblin-distribution-[VERSION].tar.gz
运行第一个Gobblin作业
我们将通过一个简单的Wikipedia数据抓取示例来体验Gobblin的基本功能。
快速应用列表
Gobblin提供了一些预配置的快速应用,可以通过以下命令查看:
bin/gobblin cli run listQuickApps
输出中会显示可用的示例应用,包括我们要使用的Wikipedia示例。
运行Wikipedia示例
- 查看Wikipedia应用的帮助信息:
bin/gobblin cli run wikipedia
- 执行一个简单的数据抓取任务,获取LinkedIn和Wikipedia:Sandbox页面最近10天的修改记录:
bin/gobblin cli run wikipedia -lookback P10D LinkedIn Wikipedia:Sandbox
- 如果需要将结果保存为Avro文件,可以使用:
bin/gobblin cli run wikipedia -lookback P10D -avroOutput /tmp/wikiSample LinkedIn Wikipedia:Sandbox
配置Gobblin守护进程
对于生产环境,通常需要以守护进程方式运行Gobblin,它会持续监控作业目录并执行配置好的任务。
准备工作
-
创建作业配置目录并设置环境变量:
mkdir -p /path/to/job/config export GOBBLIN_JOB_CONFIG_DIR=/path/to/job/config -
创建工作目录并设置环境变量:
mkdir -p /path/to/work/dir export GOBBLIN_WORK_DIR=/path/to/work/dir -
将Wikipedia作业配置文件放入配置目录
启动守护进程
gobblin service standalone start
守护进程启动后会监控配置目录中的作业文件(.pull或.job后缀),并按照配置执行。
查看作业输出
作业完成后,结果会存储在GOBBLIN_WORK_DIR/job-output目录下。可以使用Avro工具将结果转换为JSON格式查看:
java -jar avro-tools-1.8.1.jar tojson --pretty [job_output].avro > output.json
停止守护进程
gobblin service standalone stop
作业调度配置
在作业配置文件中,可以通过job.schedule属性设置定时任务,使用cron表达式格式。例如:
job.schedule=0 0/2 * * * ?
这表示每两分钟执行一次作业。
扩展与自定义
Gobblin提供了丰富的扩展点,开发者可以实现以下接口来创建自定义组件:
- Source:定义数据源
- Extractor:实现数据抽取逻辑
- Converter:数据转换
- DataWriter:数据写入
- DataPublisher:数据发布
Gobblin还内置了多种常见协议的Extractor实现,如Kafka、REST API、JDBC、SFTP等,开发者可以基于这些类进行扩展。
总结
本文介绍了Gobblin的基本使用方法,从环境搭建到运行第一个作业,再到配置守护进程模式。Gobblin的强大之处在于其模块化设计和丰富的扩展点,使得它能够适应各种复杂的数据集成场景。对于希望构建稳定、可扩展ETL管道的团队,Gobblin是一个值得考虑的选择。
【免费下载链接】linkedin_gobblin 项目地址: https://gitcode.com/gh_mirrors/li/linkedin_gobblin
更多推荐
所有评论(0)