為什么出現這個工具
隨著 TDengine Database 用(yong)戶(hu)量越來越大,用(yong)戶(hu)各種需求及疑問越來越多(duo),常見(jian)的(de)有:
- TDengine 能否支持大數據量?查詢和寫入性能怎么樣?
- 沒有實際生產數據,只是技術選型調研,下載之后如何快速進行驗證?
- 聽說 TDengine 將歷史和實時數據統一,實時寫入和查詢性能怎么樣?
- 我有物聯網數據,如何使用 TDengine 來建模?超級表?子表?
基于以上需求,為了讓用戶能夠快速地體驗 TDengine Database 的寫入和查詢性能,盡可能地結合用戶真實場景使用 TDengine,我們開發了一款樣例數據導入工具。樣例(li)數(shu)據是(shi)指實際應用場景中獲取(qu)的(de)一個(ge)(ge)或多(duo)個(ge)(ge)數(shu)據采(cai)集設備在一段(duan)時間內(nei)采(cai)集的(de)數(shu)據,比如十臺汽車過去(qu)一個(ge)(ge)月采(cai)集的(de)數(shu)據。測試時使用樣例(li)數(shu)據,而(er)不(bu)是(shi)完(wan)整的(de)實際場景的(de)數(shu)據,是(shi)完(wan)全出于數(shu)據安全的(de)考慮。
沒有樣(yang)例數據同(tong)樣(yang)可快(kuai)速體驗,內嵌樣(yang)例場景數據,下載(zai)即用。
功能介紹
樣例(li)數據(ju)導入工具主要包含(han)如下(xia)功能(neng):
- 支持自定義場景,可指定數據字段、數據采集頻率、表(采集點)數目等
- 支持 csv 和 json 格式樣例數據
- 支持將樣例數據進行橫向擴展(即將原有一張表或一個設備的數據克隆到多張表)
- 支持將樣例數據進行縱向擴展(即將原有樣例數據時間范圍內的數據在時間軸上縱向復制)
- 支持按照指定開始時間和間隔寫入
- 支持按樣例數據產生到當前時間之后持續按原有頻率寫入,以模擬最真實的場景
- 支持多場景同時模擬寫入
基于(yu)以上功能,用(yong)(yong)戶可以嘗試多種(zhong)方式(shi)使用(yong)(yong):
- 快速體驗寫入和查詢
- 可按照樣例修改成適合自己的場景測試
- 可進行性能壓測
- 邊實時寫入數據,邊進行各種查詢
- …
快速體驗
下載樣例導入工具之后直接執行 bin/taosimport 即(ji)可(ke)創建(jian) 1000 張子表且(qie)每張表各(ge)自導入 100000 條記錄(lu)。該工(gong)具支持(chi)各(ge)種(zhong)命令行參數(shu)(shu),比線(xian)程數(shu)(shu)、橫(heng)向(xiang)擴(kuo)展倍數(shu)(shu)、縱向(xiang)擴(kuo)展倍數(shu)(shu)等(deng)等(deng),以滿足用(yong)戶(hu)測試的需求。
例如執行命令:bin/taosimport -auto 1 -start '2020-01-02 00:00:00.000' -thread 10 -batch 200 -hnum 100 -vnum 0 -db test 將會使用 conf/cfg.toml 配置中的默認場景 sensor_info 從 2020-01-02 00:00:00.000 開始自動導(dao)入數據,且(qie)導(dao)入到當前時(shi)間后持續(xu)按照原(yuan)有頻率寫入。
上述命令中各參(can)數含義如(ru)下:
- auto,是否按照指定開始時間導入數據,1 是,0 否。
- start,指定數據開始導入時間,格式為 “yyyy-MM-dd HH:mm:ss.SSS”。
- thread,導入數據使用線程數。
- batch,每次批量寫入的記錄數。
- hnum,將樣例數據進行橫向擴展的倍數,即默認場景 sensor_info 的樣例數據 data/sensor_info.csv 中有 10 張子表,將 hnum 指定為 100 之后會擴展為 1000 張子表。
- vnum,將樣例數據時間范圍內的數據在時間軸上進行縱向復制的次數,當設為 0 時代表導入到當前時間后持續按原有頻率寫入。
- db,寫入指定的 TDengine 數據庫。
詳細參數使用請參考


























