Gobblin大数据集成工具入门指南

【免费下载链接】linkedin_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示例

  1. 查看Wikipedia应用的帮助信息:
bin/gobblin cli run wikipedia
  1. 执行一个简单的数据抓取任务,获取LinkedIn和Wikipedia:Sandbox页面最近10天的修改记录:
bin/gobblin cli run wikipedia -lookback P10D LinkedIn Wikipedia:Sandbox
  1. 如果需要将结果保存为Avro文件,可以使用:
bin/gobblin cli run wikipedia -lookback P10D -avroOutput /tmp/wikiSample LinkedIn Wikipedia:Sandbox

配置Gobblin守护进程

对于生产环境,通常需要以守护进程方式运行Gobblin,它会持续监控作业目录并执行配置好的任务。

准备工作

  1. 创建作业配置目录并设置环境变量:

    mkdir -p /path/to/job/config
    export GOBBLIN_JOB_CONFIG_DIR=/path/to/job/config
    
  2. 创建工作目录并设置环境变量:

    mkdir -p /path/to/work/dir
    export GOBBLIN_WORK_DIR=/path/to/work/dir
    
  3. 将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 【免费下载链接】linkedin_gobblin 项目地址: https://gitcode.com/gh_mirrors/li/linkedin_gobblin

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐