InfluxDbReader 插件文檔

InfluxDbReader 插件文檔

倉(cāng)庫(kù)地址:https://gitee.com/Tooi/DataX


1 快速介紹

InfluxDbReader 實(shí)現(xiàn)了從 influxDB 讀取數(shù)據(jù)须肆。在底層實(shí)現(xiàn)上使用influxDB-java客戶端連接 influxDB 并通過(guò)SQL語(yǔ)句,執(zhí)行相應(yīng)的SQL語(yǔ)句绎晃,將數(shù)據(jù)從SQL取出。

2 實(shí)現(xiàn)原理

簡(jiǎn)而言之款票,使用 influxDB-java 客戶端建立遠(yuǎn)程連接 influxDB 拗慨,并根據(jù)用戶配置生成對(duì)應(yīng)的 SQL 語(yǔ)句,將數(shù)據(jù)從 influxDB 查詢出來(lái)寂呛,并將查詢結(jié)果封裝成抽象數(shù)據(jù)集 Record 傳遞給 writer 處理

3 功能說(shuō)明

3.1 配置樣例

  • influxDB 2 stream
{
  "job": {
    "setting": {
      "speed": {
        "channel": 5
      },
      "errorLimit": {
        "record": 0,
        "percentage": 0.02
      }
    },
    "content": [
      {
        "reader": {
          "name": "influxdbreader",
          "parameter": {
            "endpoint": "http://192.168.142.135:8086",
            "username": "csb",
            "password": "123456",
            "database": "csb",
            "measurement": "SwDevice-Data",
            "column": [
              "__uid__",
              "__time__",
              "SN",
              "CCID",
              "ssyy",
              "status",
              "errHw",
              "errSw",
              "temperature",
              "humidity",
              "voltage",
              "battery"
            ],
            "splitIntervalS": 60000000,
            "beginDateTime": "2020-01-01 00:00:00",
            "endDateTime": "2021-01-01 00:00:00"
          }
        },
        "writer": {
          "name": "streamwriter",
          "parameter": {
            "print": false,
            "encoding": "UTF-8"
          }
        }
      }
    ]
  }
}

  • influxDB 2 MySQL
{
  "job": {
    "setting": {
      "speed": {
        "channel": 5
      },
      "errorLimit": {
        "record": 500,
        "percentage": 0.05
      }
    },
    "content": [
      {
        "reader": {
          "name": "influxdbreader",
          "parameter": {
            "endpoint": "http://192.168.142.135:8086",
            "username": "csb",
            "password": "123456",
            "database": "csb",
            "measurement": "SwDevice-Data",
            "column": [
              "__uid__",
              "__time__",
              "SN",
              "CCID",
              "ssyy",
              "status",
              "errHw",
              "errSw",
              "temperature",
              "humidity",
              "voltage",
              "battery"
            ],
            "splitIntervalS": 60000000,
            "beginDateTime": "2020-01-01 00:00:00",
            "endDateTime": "2021-01-01 00:00:00"
          }
        },
        "writer": {
          "name": "mysqlwriter",
          "parameter": {
            "username": "csb",
            "password": "123456",
            "writeMode": "insert",
            "column": [
              "id",
              "createdatetime",
              "SN",
              "CCID",
              "ssyy",
              "status",
              "err_hw",
              "err_sw",
              "temperature",
              "humidity",
              "voltage",
              "battery"
            ],
            "session": [],
            "preSql": [],
            "connection": [
              {
                "jdbcUrl": "jdbc:mysql://127.0.0.1:3306/csb?useUnicode=true&characterEncoding=utf-8",
                "table": [
                  "s_ultrasound"
                ]
              }
            ]
          }
        }
      }
    ]
  }
}

3.2 參數(shù)說(shuō)明

  • endpoint

    • 描述:influxDB 的 http 連接地址缤灵,http://ip:port

    • 必選:是 <br />

    • 默認(rèn)值:無(wú) <br />

  • username

    • 描述:數(shù)據(jù)源的用戶名 <br />

    • 必選:是 <br />

    • 默認(rèn)值:無(wú) <br />

  • password

    • 描述:數(shù)據(jù)源指定用戶名的密碼 <br />

    • 必選:是 <br />

    • 默認(rèn)值:無(wú) <br />

  • databases

    • 描述:需要遷移的數(shù)據(jù)庫(kù) <br />

    • 必選:是 <br />

    • 默認(rèn)值:無(wú) <br />

  • measurement

    • 描述:需要遷移的 measurement <br />

    • 必選:是 <br />

    • 默認(rèn)值:無(wú) <br />

  • column

    • 描述:配置需要遷移的列名集合伦籍,包含tag、field
      必須包含 "time" 字段腮出,對(duì)應(yīng) influx 數(shù)據(jù)庫(kù)的 time 字段
      支持特殊字段 "uid"帖鸦,程序會(huì)生成一個(gè)uid(UUID.randomUUID().toString())到該字段的位置(_ 項(xiàng)目需要)

    • 必選:是 <br />

    • 默認(rèn)值:無(wú) <br />

  • splitIntervalS

    • 描述:用于 DataX 內(nèi)部切分 Task ,單位秒(S)胚嘲,每個(gè) Task 只查詢?cè)O(shè)定好的時(shí)間段

    • 必選:是 <br />

    • 默認(rèn)值:無(wú) <br />

  • beginDateTime

    • 描述:和 endDateTime 配合使用作儿,用于指定哪個(gè)時(shí)間段內(nèi)的數(shù)據(jù)點(diǎn),需要被遷移

    • 必選:是

    • 格式:yyyy-MM-dd HH:mm:ss

    • 默認(rèn)值:無(wú)

  • endDateTime

    • 描述:和 beginDateTime 配合使用馋劈,用于指定哪個(gè)時(shí)間段內(nèi)的數(shù)據(jù)點(diǎn)攻锰,需要被遷移

    • 必選:是

    • 格式:yyyy-MM-dd HH:mm:ss

    • 默認(rèn)值:無(wú)

3.3 類型轉(zhuǎn)換

下面列出influxDBReader針對(duì)influxDB類型轉(zhuǎn)換表

DataX 內(nèi)部類型 influxDB 數(shù)據(jù)類型
String String晾嘶,null
Double Double
Boolean bool
Date time
Long int,long

4 性能報(bào)告

4.1 環(huán)境準(zhǔn)備

* 注意:性能測(cè)試使用虛擬機(jī)當(dāng)作遠(yuǎn)程influxDB服務(wù)器娶吞,MySQL則在宿主機(jī)運(yùn)行垒迂,該測(cè)試并不嚴(yán)謹(jǐn),如果需要更真實(shí)數(shù)據(jù)請(qǐng)自行測(cè)試

4.1.1 數(shù)據(jù)特征

數(shù)據(jù)結(jié)構(gòu):

測(cè)試數(shù)據(jù)結(jié)構(gòu).png

4.1.1 測(cè)試環(huán)境

  • 機(jī)器參數(shù):
    1. cpu:Intel(R) Core(TM) i3-9100 CPU @ 3.6GHz
    2. mem:8.00 GB
    3. disc:KINGSTON_SA400S3S1Z4

4.1.3 DataX jvm 參數(shù)

-Xms1g -Xmx1g -XX:+HeapDumpOnOutOfMemoryError

4.2 測(cè)試結(jié)果

測(cè)試結(jié)果.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末妒蛇,一起剝皮案震驚了整個(gè)濱河市机断,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌绣夺,老刑警劉巖吏奸,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異乐导,居然都是意外死亡苦丁,警方通過(guò)查閱死者的電腦和手機(jī)浸颓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門物臂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人产上,你說(shuō)我怎么就攤上這事棵磷。” “怎么了晋涣?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵仪媒,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我谢鹊,道長(zhǎng)算吩,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任佃扼,我火速辦了婚禮偎巢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘兼耀。我一直安慰自己压昼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布瘤运。 她就那樣靜靜地躺著窍霞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪拯坟。 梳的紋絲不亂的頭發(fā)上但金,一...
    開(kāi)封第一講書(shū)人閱讀 51,708評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音郁季,去河邊找鬼冷溃。 笑死掠哥,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的秃诵。 我是一名探鬼主播续搀,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼菠净!你這毒婦竟也來(lái)了禁舷?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤毅往,失蹤者是張志新(化名)和其女友劉穎牵咙,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體攀唯,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡洁桌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了侯嘀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片另凌。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖戒幔,靈堂內(nèi)的尸體忽然破棺而出吠谢,到底是詐尸還是另有隱情,我是刑警寧澤诗茎,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布工坊,位于F島的核電站,受9級(jí)特大地震影響敢订,放射性物質(zhì)發(fā)生泄漏王污。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一楚午、第九天 我趴在偏房一處隱蔽的房頂上張望昭齐。 院中可真熱鬧,春花似錦醒叁、人聲如沸司浪。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)啊易。三九已至,卻和暖如春饮睬,著一層夾襖步出監(jiān)牢的瞬間租谈,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留割去,地道東北人窟却。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像呻逆,于是被迫代替她去往敵國(guó)和親夸赫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355