OSSReader__Reader插件_使用手冊_數據集成-阿裏雲
1 快速介紹
OSSReader提供了讀取OSS數據存儲的能力。在底層實現上,OSSReader使用OSS官方Java SDK獲取OSS數據,並轉換為DataX傳輸協議傳遞給Writer。
- OSS 產品介紹, 參看[阿裏雲OSS Portal]
- OSS Java SDK, 參看[阿裏雲OSS Java SDK]
2 功能與限製
OSSReader實現了從OSS讀取數據並轉為DataX協議的功能,OSS本身是無結構化數據存儲,對於DataX而言,OSSReader實現上類比TxtFileReader,有諸多相似之處。目前OSSReader支持功能如下:
- 支持且僅支持讀取TXT的文件,且要求TXT中shema為一張二維表。
- 支持類CSV格式文件,自定義分隔符。
- 支持多種類型數據讀取(使用String表示),支持列裁剪,支持列常量
- 支持遞歸讀取、支持文件名過濾。
- 支持文本壓縮,現有壓縮格式為zip、lzo、lzop、tgz、bzip2。注意,一個壓縮包不允許多文件打包壓縮。
- 多個object可以支持並發讀取。
我們暫時不能做到:
- 單個Object(File)支持多線程並發讀取,這裏涉及到單個Object內部切分算法。二期考慮支持。
- 單個Object在壓縮情況下,從技術上無法支持多線程並發讀取。
3 功能說明
3.1 配置樣例
{
"type": "job",
"traceId": "您可以在這裏填寫您作業的追蹤ID,建議使用業務名+您的作業ID",
"version": "1.0",
"configuration": {
"settting": {
"key": "value"
},
"reader": {
"plugin": "oss",
"parameter": {
"endpoint": "https://oss.aliyuncs.com",
"accessId": "",
"accessKey": "",
"bucket": "myBucket",
"object": [
"/bazhen/*"
],
"column": [
{
"type": "int",
"index": 0
},
{
"type": "string",
"value": "alibaba"
},
{
"type": "date",
"index": 1,
"format": "yyyy-mm-dd"
}
],
"encoding": "UTF-8",
"fieldDelimiter": "t",
"compress": "gzip"
}
},
"writer": {
"plugin": "odps",
"parameter": {
"key": "value"
}
}
}
}
3.2 參數說明
endpoint
- 描述:OSS Server的EndPoint地址,例如https://oss.aliyuncs.com。
- 必選:是
- 默認值:無
accessId
- 描述:OSS的accessId
- 必選:是
- 默認值:無
accessKey
- 描述:OSS的accessKey
- 必選:是
- 默認值:無
bucket
- 描述:OSS的bucket
- 必選:是
- 默認值:無
object
描述:OSS的object信息,注意這裏可以支持填寫多個Object。
- 當指定單個OSS Object,OSSReader暫時隻能使用單線程進行數據抽取。二期考慮在非壓縮文件情況下針對單個Object可以進行多線程並發讀取。
- 當指定多個OSS Object,OSSReader支持使用多線程進行數據抽取。線程並發數通過通道數指定。
- 當指定通配符,OSSReader嚐試遍曆出多個Object信息。例如: 指定/代表讀取bucket下遊所有的Object,指定/bazhen/代表讀取bazhen目錄下遊所有的Object。
特別需要注意的是,DataX會將一個作業下同步的所有Object視作同一張數據表。用戶必須自己保證所有的Object能夠適配同一套schema信息。
必選:是
默認值:無
column
描述:讀取字段列表,type指定源數據的類型,index指定當前列來自於文本第幾列(以0開始),value指定當前類型為常量,不從源頭文件讀取數據,而是根據value值自動生成對應的列。
默認情況下,用戶可以全部按照String類型讀取數據,配置如下:
"column": ["*"]
用戶可以指定Column字段信息,配置如下:
"column": { "type": "long", "index": 0 //從OSS文本第一列獲取int字段 }, { "type": "string", "value": "alibaba" //從OSSReader內部生成alibaba的字符串字段作為當前字段 }
對於用戶指定Column信息,type必須填寫,index/value必須選擇其一。
必選:是
默認值:全部按照string類型讀取
fieldDelimiter
- 描述:讀取的字段分隔符
- 必選:是
- 默認值:,
compress
- 描述:文本壓縮類型,默認不填寫意味著沒有壓縮。支持壓縮類型為gzip、bzip2。
- 必選:否
- 默認值:不壓縮
encoding
- 描述:讀取文件的編碼配置。
- 必選:否
- 默認值:utf-8
nullFormat
描述:文本文件中無法使用標準字符串定義null(空指針),DataX提供nullFormat定義哪些字符串可以表示為null。
例如如果用戶配置: nullFormat="N",那麼如果源頭數據是"N",DataX視作null字段。
必選:否
默認值:N
skipHeader
- 描述:類CSV格式文件可能存在表頭為標題情況,需要跳過。默認不跳過。
- 必選:否
- 默認值:false
3.3 類型轉換
OSS本身不提供數據類型,該類型是DataX OSSReader定義:
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
上一篇:
DRDSReader__Reader插件_使用手冊_數據集成-阿裏雲
下一篇:
FtpReader__Reader插件_使用手冊_數據集成-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
髒數據和容錯__進階與深入_數據集成-阿裏雲
請求狀態__常用指標_使用手冊_性能測試-阿裏雲
入門示例__附錄_API文檔_雲解析-阿裏雲
ALIYUN::RAM::User__資源列表_資源編排-阿裏雲
ImageResultsRequest__SDK·接口介紹_內容檢測API文檔_阿裏綠網-阿裏雲
查看作業__命令行工具_批量計算-阿裏雲
其他操作__常用命令_基本介紹_大數據計算服務-阿裏雲
添加角色並通過ACL授權__快速開始_安全指南_大數據計算服務-阿裏雲
CPU跑滿__故障處理_雲服務器 ECS-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲