676
魔獸
OSSWriter__Writer插件_使用手冊_數據集成-阿裏雲
1 快速介紹
OSSWriter提供了向OSS寫入類CSV格式的一個或者多個表文件。
寫入OSS內容存放的是一張邏輯意義上的二維表,例如CSV格式的文本信息。
- OSS 產品介紹, 參看[阿裏雲OSS Portal]
- OSS Java SDK, 參看[阿裏雲OSS Java SDK]
2 功能與限製
OSSWriter實現了從CDP協議轉為OSS中的TXT文件功能,OSS本身是無結構化數據存儲,OSSWriter需要在如下幾個方麵增加:
- 支持且僅支持寫入 TXT的文件,且要求TXT中shema為一張二維表。
- 支持類CSV格式文件,自定義分隔符。
- 支持文本壓縮,現有壓縮格式為zip、lzo、lzop、tgz、bzip2。
- 支持多線程寫入,每個線程寫入不同子文件。
- 文件支持滾動,當文件大於某個size值或者行數值,文件需要切換。 [暫不支持]
我們不能做到:
- 單個文件不能支持並發寫入。
3 功能說明
3.1 配置樣例
{
"type": "job",
"traceId": "您可以在這裏填寫您作業的追蹤ID,建議使用業務名+您的作業ID",
"version": "1.0",
"configuration": {
"settting": {
"key": "value"
},
"reader": {
"plugin": "mysql",
"parameter": {
"key": "value"
}
},
"writer": {
"plugin": "OSS",
"parameter": {
"endpoint": "https://OSS.aliyuncs.com",
"accessId": "",
"accessKey": "",
"bucket": "myBucket",
"object": "cdo/CDP",
"encoding": "UTF-8",
"fieldDelimiter": ",",
"compress": "gzip",
"writeMode": "truncate|append|nonConflict"
}
}
}
}
3.2 參數說明
endpoint
- 描述:OSS Server的EndPoint地址,例如https://OSS.aliyuncs.com。
- 必選:是
- 默認值:無
accessId
- 描述:OSS的accessId
- 必選:是
- 默認值:無
accessKey
- 描述:OSS的accessKey
- 必選:是
- 默認值:無
bucket
- 描述:OSS的bucket
- 必選:是
- 默認值:無
object
描述:OSSWriter寫入的文件名,OSS使用文件名模擬目錄的實現。
使用"object": "CDP",寫入object以CDP開頭,後綴添加隨機字符串。
使用"object": "cdo/CDP",寫入的object以cdo/CDP開頭,後綴隨機添加字符串,/作為OSS模擬目錄的分隔符。
必選:是
默認值:無
writeMode
- 描述:OSSWriter寫入前數據清理處理:
- truncate,寫入前清理object名稱前綴匹配的所有object。例如: "object": "abc",將清理所有abc開頭的object。
- append,寫入前不做任何處理,CDP OSSWriter直接使用object名稱寫入,並使用隨機UUID的後綴名來保證文件名不衝突。例如用戶指定的object名為CDP,實際寫入為CDP_xxxxxx_xxxx_xxxx
- nonConflict,如果指定路徑出現前綴匹配的object,直接報錯。例如: "object": "abc",如果存在abc123的object,將直接報錯。
- 必選:是
- 默認值:無
- 描述:OSSWriter寫入前數據清理處理:
fileFormat
描述:文件寫出的格式,包括csv (https://zh.wikipedia.org/wiki/%E9%80%97%E5%8F%B7%E5%88%86%E9%9A%94%E5%80%BC) 和text兩種,csv是嚴格的csv格式,如果待寫數據包括列分隔符,則會按照csv的轉義語法轉義,轉義符號為雙引號";text格式是用列分隔符簡單分割待寫數據,對於待寫數據包括列分隔符情況下不做轉義。
必選:否
默認值:text
fieldDelimiter
- 描述:讀取的字段分隔符
- 必選:否
- 默認值:,
- compress(暫時不支持)
- 描述:文本壓縮類型,默認不填寫意味著沒有壓縮。支持壓縮類型為gzip、bzip2。
- 必選:否
- 默認值:無
- encoding
- 描述:寫出文件的編碼配置。
- 必選:否
- 默認值:utf-8
nullFormat
描述:文本文件中無法使用標準字符串定義null(空指針),CDP提供nullFormat定義哪些字符串可以表示為null。
例如如果用戶配置: nullFormat="N",那麼如果源頭數據是"N",CDP視作null字段。
必選:否
默認值:N
header
描述:Oss寫出時的表頭,示例['id', 'name', 'age']。
必選:否
默認值:無
maxFileSize
描述:Oss寫出時單個Object文件的最大大小,默認為10000*10MB,類似log4j日誌打印時根據日誌文件大小輪轉。OSS分塊上傳時,每個分塊大小為10MB,每個OSS InitiateMultipartUploadRequest支持的分塊最大數量為10000。輪轉發生時,object名字規則是:在原有object前綴加UUID隨機數的基礎上,拚接_1,_2,_3等後綴。
必選:否
默認值:100000MB
3.3 類型轉換
OSS本身不提供數據類型,該類型是CDP OSSWriter定義:
CDP 內部類型 | OSS 數據類型 |
---|---|
Long | Long |
Double | Double |
String | String |
Boolean | Boolean |
Date | Date |
其中:
- OSS Long是指OSS文本中使用整形的字符串表示形式,例如"19901219"。
- OSS Double是指OSS文本中使用Double的字符串表示形式,例如"3.1415"。
- OSS Boolean是指OSS文本中使用Boolean的字符串表示形式,例如"true"、"false"。不區分大小寫。
- OSS Date是指OSS文本中使用Date的字符串表示形式,例如"2014-12-31",Date可以指定format格式。
最後更新:2016-11-23 16:03:59
上一篇:
DRDSWriter__Writer插件_使用手冊_數據集成-阿裏雲
下一篇:
ADSWriter__Writer插件_使用手冊_數據集成-阿裏雲
工作流程__工作原理_用戶指南_彈性伸縮-阿裏雲
被暴力破解成功之後該怎麼辦__產品常見問題_服務器安全(安騎士)-阿裏雲
創建數據庫__數據庫管理_開放API_分布式關係型數據庫 DRDS-阿裏雲
查詢區域運營商資源信息__資源監控接口_API 手冊_CDN-阿裏雲
DeleteGroup__組管理接口_RAM API文檔_訪問控製-阿裏雲
UploadSession__SDK介紹_批量數據通道_大數據計算服務-阿裏雲
自建SNAT網關平滑遷移到NAT網關__最佳實踐_用戶指南_專有網絡 VPC-阿裏雲
1.7 刪除表或數據庫__快速入門_分析型數據庫-阿裏雲
鏡像產品安全審核標準__商品接入_服務商_雲市場-阿裏雲
步驟 6:配置域名解析__搭建 WordPress 網站_建站教程_雲服務器 ECS-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲