亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

go語(yǔ)言寫(xiě)的簡(jiǎn)要數(shù)據(jù)同步工具詳解

 更新時(shí)間:2024年07月22日 09:01:35   作者:Breeze0806  
作為go-etl工具的作者,想要安利一下這個(gè)小巧的數(shù)據(jù)同步工具,它在同步百萬(wàn)級(jí)別的數(shù)據(jù)時(shí)表現(xiàn)極為優(yōu)異,基本能在幾分鐘完成數(shù)據(jù)同步,這篇文章主要介紹了go語(yǔ)言寫(xiě)的簡(jiǎn)要數(shù)據(jù)同步工具,需要的朋友可以參考下

go語(yǔ)言寫(xiě)的簡(jiǎn)要數(shù)據(jù)同步工具

go-etl工具

作為go-etl工具的作者,想要安利一下這個(gè)小巧的數(shù)據(jù)同步工具,它在同步百萬(wàn)級(jí)別的數(shù)據(jù)時(shí)表現(xiàn)極為優(yōu)異,基本能在幾分鐘完成數(shù)據(jù)同步。

1.它能干什么的?

go-etl是一個(gè)數(shù)據(jù)同步工具集,目前支持MySQL,postgres,oracle,SQL SERVER,DB2等主流關(guān)系型數(shù)據(jù)庫(kù)以及csv,xlsx文件之間的數(shù)據(jù)同步,在同步百萬(wàn)級(jí)別的數(shù)據(jù)時(shí)表現(xiàn)極為優(yōu)異,基本能在幾分鐘完成數(shù)據(jù)同步。

2.怎么獲取它?

可以在最新發(fā)布版本下載到windows或者linux操作系統(tǒng)的64位版本二進(jìn)制程序

如圖所示第1個(gè)是不包含db2功能的linux二進(jìn)制程序,第2個(gè)是linux版本的,第3個(gè)是windows版本的

3.怎么使用它?

go-etl datax二進(jìn)制程序是一款即插即用的程序,它的唯一難點(diǎn)是配置導(dǎo)入配置文件,配置它的配置文件我們需要理解它的工作原理

3.1 工作原理

如上圖所示go-etl datax將數(shù)據(jù)從源數(shù)據(jù)源同步到目的數(shù)據(jù)源,

  • 讀取器:reader為數(shù)據(jù)采集模塊,負(fù)責(zé)采集數(shù)據(jù)源的數(shù)據(jù),將數(shù)據(jù)發(fā)送給框架。

  • 寫(xiě)入器:writer為數(shù)據(jù)寫(xiě)入模塊,負(fù)責(zé)不斷向框架取數(shù)據(jù),并將數(shù)據(jù)寫(xiě)入到目的端。

  • 框架:框架用于連接readerwriter,作為兩者的數(shù)據(jù)傳輸通道,并處理緩沖,流控,并發(fā),數(shù)據(jù)轉(zhuǎn)換等核心技術(shù)問(wèn)題

3.2 配置數(shù)據(jù)同步文件

通過(guò)工作原理,需要配置readerwriter才能使go-etl datax準(zhǔn)確地開(kāi)始工作,本次以csvmysql之間的數(shù)據(jù)同步為例, 以下是完整的配置文件,但僅需要關(guān)注job.content即可

{
    "core" : {
        "container": {
            "job":{
                "id": 1,
                "sleepInterval":100
            }
        }
    },
    "job":{
        "content":[
            {
                "reader":{
                    "name": "csvreader",
                    "parameter": {
                        "path":["split.csv"],
                        "encoding":"utf-8"
                    }
                },
                "writer":{
                    "name": "mysqlwriter",
                    "parameter": {
                        "username": "root",
                        "password": "123456",
                        "writeMode": "insert",
                        "column": ["*"],
                        "connection":  {
                                "url": "tcp(192.168.15.130:3306)/mysql",
                                "table": {
                                    "db":"source",
                                    "name":"split"
                                }
                         },
                        "batchTimeout": "1s",
                        "batchSize":1000
                    }
                },
               "transformer":[]
            }
        ],
        "setting":{
            "speed":{
                "byte":0,
                "record":1024,
                "channel":4
            }
        }
    }
}

這里先看reader,首先留意到的時(shí)reader的名字是csvreader,表明其源數(shù)據(jù)源的類型,再例如如mysql的讀取器為mysqlreader,接著留意到的時(shí)reader的參數(shù),path代表csv文件的存儲(chǔ)位置,encoding為csv文件的字符集。

這里再看writer,首先留意到的時(shí)reader的名字是mysqlreader,表明其目的數(shù)據(jù)源的類型,再例如csv的讀取器為mysqlreader,接著留意到的時(shí)writer的參數(shù),需要配置的是username,password,connectionurltable,用戶名密碼無(wú)需多言,這里要重點(diǎn)講講url,基本配置格式:tcp(ip:port)/db,ip:port代表mysql數(shù)據(jù)庫(kù)的IP地址和端口,db表示要默認(rèn)連接的數(shù)據(jù)庫(kù),table是需要寫(xiě)入的表信息。

3.3 運(yùn)行程序?qū)霐?shù)據(jù)

將上述配置命名為config.json,將其和datax以及待導(dǎo)入的數(shù)據(jù)文件split.csv放到同一目錄下,在windows中使用命令行或者linux中使用終端執(zhí)行以下命令

datax

3.4 批量寫(xiě)入數(shù)據(jù)

3.4.1 源目的配置向?qū)募?/h5>

源目的配置向?qū)募莄sv文件,每行配置可以配置如下:

path[table],path[table]

每一列可以是路徑或者是表名,注意所有的表要配置庫(kù)名或者模式名,需要在數(shù)據(jù)源配置文件配置。

3.4.2 批量生成數(shù)據(jù)配置集和執(zhí)行腳本

在windows中使用命令行或者linux中使用終端執(zhí)行以下命令

datax -c tools/testData/xlsx.json -w tools/testData/wizard.csv 

-c 指定數(shù)據(jù)源配置文件 -w 指定源目的配置向?qū)募?/p>

執(zhí)行結(jié)果會(huì)在數(shù)據(jù)源配置文件目錄文件生成源目的配置向?qū)募袛?shù)的配置集,分別以指定數(shù)據(jù)源配置文件1.json,指定數(shù)據(jù)源配置文件2.json,...,指定數(shù)據(jù)源配置文件[n].json的配置集。

另外,在當(dāng)前目錄會(huì)生成執(zhí)行腳本run.bat或者run.sh。

3.4.3 運(yùn)行腳本

windows中使用命令行即可

run.bat

linux中使用終端執(zhí)行即可

run.sh

到此這篇關(guān)于go語(yǔ)言寫(xiě)的簡(jiǎn)要數(shù)據(jù)同步工具的文章就介紹到這了,更多相關(guān)go語(yǔ)言寫(xiě)的簡(jiǎn)要數(shù)據(jù)同步工具內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • golang context接口類型方法介紹

    golang context接口類型方法介紹

    這篇文章主要為大家介紹了golang context接口類型方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 詳解Golang中Requests包的使用

    詳解Golang中Requests包的使用

    Go的net/http包雖然功能強(qiáng)大、用途也廣告,但要想正確的使用請(qǐng)求的客戶端是非常繁瑣的,所以本文和大家分享一個(gè)高效的HTTP的請(qǐng)求包c(diǎn)arlmjohnson/requests的使用,需要的小伙伴可以了解一下
    2023-06-06
  • 一文帶你掌握Golang基礎(chǔ)之通道

    一文帶你掌握Golang基礎(chǔ)之通道

    在Java中,多線程之間的通信方式有哪些?記得嗎?Java多線程間通信的解決方案有很多種,比如:synchronized。在go中,就一種:通道,文中介紹的非常詳細(xì),感興趣的同學(xué)可以參考下
    2023-05-05
  • go語(yǔ)言使用jwt認(rèn)證的實(shí)現(xiàn)

    go語(yǔ)言使用jwt認(rèn)證的實(shí)現(xiàn)

    本文主要介紹了go語(yǔ)言使用jwt認(rèn)證的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • golang解析xml的方法

    golang解析xml的方法

    這篇文章主要介紹了golang解析xml的方法,結(jié)合實(shí)例形式分析了Go語(yǔ)言針對(duì)xml文件的讀取與解析的相關(guān)技巧,需要的朋友可以參考下
    2016-07-07
  • Go調(diào)用opencv實(shí)現(xiàn)圖片矯正的代碼示例

    Go調(diào)用opencv實(shí)現(xiàn)圖片矯正的代碼示例

    這篇文章主要為大家詳細(xì)介紹了Go調(diào)用opencv實(shí)現(xiàn)圖片矯正的代碼示例,文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-09-09
  • Go語(yǔ)言利用ssh連接服務(wù)器的方法步驟

    Go語(yǔ)言利用ssh連接服務(wù)器的方法步驟

    這篇文章主要介紹了Go語(yǔ)言利用ssh連接服務(wù)器的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 深入了解Go語(yǔ)言中database/sql是如何設(shè)計(jì)的

    深入了解Go語(yǔ)言中database/sql是如何設(shè)計(jì)的

    在?Go?語(yǔ)言中內(nèi)置了?database/sql?包,它只對(duì)外暴露了一套統(tǒng)一的編程接口,便可以操作不同數(shù)據(jù)庫(kù),那么database/sql?是如何設(shè)計(jì)的呢,下面就來(lái)和大家簡(jiǎn)單聊聊吧
    2023-07-07
  • go語(yǔ)言的變量定義示例詳解

    go語(yǔ)言的變量定義示例詳解

    這篇文章主要為大家介紹了go語(yǔ)言的變量定義示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 使用Go和Gorm實(shí)現(xiàn)讀取SQLCipher加密數(shù)據(jù)庫(kù)

    使用Go和Gorm實(shí)現(xiàn)讀取SQLCipher加密數(shù)據(jù)庫(kù)

    本文檔主要描述通過(guò)Go和Gorm實(shí)現(xiàn)生成和讀取SQLCipher加密數(shù)據(jù)庫(kù)以及其中踩的一些坑,文章通過(guò)代碼示例講解的非常詳細(xì), 對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-06-06

最新評(píng)論