此工具可批量對csv格式文件進行數據清理。
在配置與資料路徑相關的argument時,需要根據資料源遵守其對應的格式。
-
local
argument example: local:/home/source
- /home/source 目標地址
-
ftp
argument example: ftp@user:password://0.0.0.0:8888/home/source
- user 用戶名
- password 密碼
- 0.0.0.0:8888 host:port
- /home/source 目標地址
參數名稱 | 說明 | 預設值 |
---|---|---|
source | (必填) 待處理的csv資料來源 | 無 |
sink | (必填) 處理完畢的csv資料落庫地點 | 無 |
cleanSource | 決定以何種方式清理處理完畢的csv文件 有三種模式可供選擇: 1.off: 不對處理完畢的csv進行操作 2. delete:刪除處理完畢的csv 3. archive:將處理完畢的csv進行封存 |
off |
sourceArchiveDir | 當cleanSource被配置爲archive的時候就需要指定archive地點,需要注意的是archive的地址應該避免與source重複 | 無 |
headSkip | 決定開頭跳過的行數,清理會在跳過開頭後在開始 | 0 |
allowBlankLine | 是否允許處理的文件以blank line結尾 | false |
專案內的工具都有整合到container
中,使用者利用docker運行,即可方便管理。
使用docker
執行Impoet csv
docker/start_app.sh clean_csv --source local:/home/source --sink local:/home/sink
Import csv
可以指定資料的上下游,及選擇如何清理處理完畢的資料。
以下僅列出一些使用範例:
# 待處理csv來源ip 192.0.0.1:5050,登錄用戶名爲user,密碼8888,來源路徑爲/home/source。處理完畢的資料落庫位置爲本機/home/sink。
docker/start_app.sh clean_csv --source ftp://user:[email protected]:5050/home/source --sink local:/home/sink
# 待處理csv來源路徑爲/home/source。處理完畢的資料落庫位置爲本機/home/sink。處理完畢的資料會被刪除
docker/start_app.sh clean_csv --source local:/home/source --sink local:/home/sink --cleanSource delete
# 待處理csv來源路徑爲/home/source。處理完畢的資料落庫位置爲本機/home/sink。處理完畢的資料會被做archive操作,封存在本地的/home/archive目錄下
docker/start_app.sh clean_csv --source local:/home/source --sink local:/home/sink --cleanSource archive --sourceArchiveDir local:/home/archive