日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

apache gobblin mysql_gobblin简单使用

發布時間:2023/12/1 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 apache gobblin mysql_gobblin简单使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、下載編譯

解壓后查看目錄下是否存在gradle/wrapper/gradle-wrapper.jar 文件

使用 ./gradlew build -x findbugsMain -x test -x rat -x checkstyleMain

編譯項目(因網絡因素可能有幾次失敗)

編譯后文件apache-gobblin-incubating-bin-0.14.0.tar.gz

二、配置編寫

啟動命令(需指定配置文件目錄,工作目錄):

./bin/gobblin-standalone.sh start --conf /conf/gobblin --workdir /data/gobblin

也可 vi ~/.bashrc

export GOBBLIN_JOB_CONFIG_DIR=/conf/gobblin

export GOBBLIN_WORK_DIR=/data/gobblin/

以mysql --> canal --> kafka --> gobblin --> mysql 線為例

task-job配置文件

#job 名稱 需唯一必填

job.name=CanalKafkaToMysql

job.group=gobblin

job.description=canal kafka base data to mysql

#是否開啟鎖,需zk支持

job.lock.enabled=false

#kafka相關配置

kafka.brokers=10.174.89.47:9092

#數據源 此處按官網配置將異常

source.class=org.apache.gobblin.source.extractor.extract.kafka.KafkaDeserializerSource

extract.namespace=org.apache.gobblin.extract.kafka

topic.whitelist=dxh_base

#simple.writer.delimiter=\n

#反序列化類型

kafka.deserializer.type=CONFLUENT_JSON

mr.job.max.mappers=1

bootstrap.with.offset=earliest

#寫入mysql

writer.destination.type=MYSQL

writer.builder.class=org.apache.gobblin.writer.JdbcWriterBuilder

#輸出到nohup.out

#writer.builder.class=org.apache.gobblin.writer.ConsoleWriterBuilder

#臨時寫入目錄

writer.staging.dir=/data/gobblin/write-staging

writer.output.dir=/data/gobblin/write-output

#轉換器 多個轉換器按順序

converter.classes=org.apache.gobblin.converter.avro.JsonIntermediateToAvroConverter

converter.classes=org.apache.gobblin.converter.jdbc.AvroToJdbcEntryConverter

#converter.avro.jdbc.entry_fields_pairs={\"src_fn\":\"firstname\",\"src_ln\":\"lastname\"}

#最終提交

data.publisher.type=org.apache.gobblin.publisher.JdbcPublisher

data.publisher.final.dir=/data/gobblin/job-out

data.publisher.replace.final.dir=true

#jdbc相關信息

jdbc.publisher.url=jdbc:mysql://10.174.89.47:3306

jdbc.publisher.driver=com.mysql.jdbc.Driver

jdbc.publisher.username=dxh

jdbc.publisher.password=Dxh2017$$

jdbc.publisher.database_name=dxh_base

jdbc.publisher.table_name=itemsku_tmp

writer.jdbc.batch_size=1000

metrics.reporting.file.enabled=true

metrics.log.dir=/data/gobblin/metrics

metrics.reporting.file.suffix=txt

state.store.dir=/data/gobblin/state-store

注:jdbc需依賴gobblin-sql-0.14.0.jar 文件,若lib目錄下不存在 可在gobblin-modules 找到

流程線:

source --> converter --> writer --> publisher

三、注意事項

1.每個表需要一個topic

2.每個表需要一個job

3.數據導入中會在目標庫建臨時表用于暫存數據,雖然可通過配置關閉,但有丟數據的可能。

4.若不擴展converter,與canal對接需寫各種schema 定義數據,且對sql進行過濾較難實現

5.若擴展converter需注意傳輸格式及schema

總結

以上是生活随笔為你收集整理的apache gobblin mysql_gobblin简单使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。