Simple Storage Service(簡稱S3)是一種專為從任意位置存儲和檢索任意數量的數據而構建的對象存儲,DataWorks數據集成支持使用Amazon S3 Reader插件從S3數據庫讀取數據,本文為您介紹DataWorks的Amazon S3數據讀取能力。
支持的Amazon S3版本
Amazon S3 Reader使用Amazon官網提供的Java SDK獲取S3數據。
使用限制
Amazon S3是非結構化數據存儲。對于數據集成而言,目前Amazon S3 Reader支持的功能如下。
支持 | 不支持 |
|
|
創建數據源
在進行數據同步任務開發時,您需要在DataWorks上創建一個對應的數據源,操作流程請參見創建并管理數據源,詳細的配置參數解釋可在配置界面查看對應參數的文案提示。
數據同步任務開發
數據同步任務的配置入口和通用配置流程可參見下文的配置指導。
單表離線同步任務配置指導
操作流程請參見通過向導模式配置離線同步任務、通過腳本模式配置離線同步任務。
腳本模式配置的全量參數和腳本Demo請參見下文的附錄:腳本Demo與參數說明。
附錄:腳本Demo與參數說明
離線任務腳本配置方式
如果您配置離線任務時使用腳本模式的方式進行配置,您需要按照統一的腳本格式要求,在任務腳本中編寫相應的參數,詳情請參見通過腳本模式配置離線同步任務,以下為您介紹腳本模式下數據源的參數配置詳情。
Reader腳本Demo
{
"type":"job",
"version":"2.0",//版本號。
"steps":[
{
"stepType":"s3",//插件名。
"parameter":{
"nullFormat":"",//定義可以表示為null的字符串。
"compress":"",//文本壓縮類型。
"datasource":"",//數據源。
"column":[//字段。
{
"index":0,//列序號。
"type":"string"http://數據類型。
},
{
"index":1,
"type":"long"
},
{
"index":2,
"type":"double"
},
{
"index":3,
"type":"boolean"
},
{
"format":"yyyy-MM-dd HH:mm:ss", //時間格式。
"index":4,
"type":"date"
}
],
"skipHeader":"",//類CSV格式文件可能存在表頭為標題情況,需要跳過。
"encoding":"",//編碼格式。
"fieldDelimiter":",",//字段分隔符。
"fileFormat": "",//文本類型。
"object":[]//object前綴。
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":""http://錯誤記錄數。
},
"speed":{
"throttle":true,//當throttle值為false時,mbps參數不生效,表示不限流;當throttle值為true時,表示限流。
"concurrent":1 //作業并發數。
"mbps":"12",//限流,此處1mbps = 1MB/s。
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
Reader腳本參數
參數 | 描述 | 是否必選 | 默認值 |
datasource | 數據源名稱,腳本模式支持添加數據源,該配置項輸入的內容必須和添加的數據源名稱保持一致。 | 是 | 無 |
Object | S3的Object信息,支持填寫多個Object。例如,bucket中有test文件夾,文件夾中有ll.txt文件,則Object填寫test/ll.txt。
說明
| 是 | 無 |
column | 讀取字段列表,type指定源數據的類型,index指定當前列來自于文本第幾列(以0開始),value指定當前類型為常量,不是從源頭文件讀取數據,而是根據value值自動生成對應的列。 默認情況下,您可以全部按照String類型讀取數據,配置如下。
您可以指定column字段信息,配置如下。
說明 對于您指定的column信息,type必須填寫,index和value必須選擇其一。 | 是 | 全部按照STRING類型讀取。 |
fieldDelimiter | 讀取的字段分隔符。 說明 Amazon S3 Reader在讀取數據時,需要指定字段分割符,如果不指定默認為(,),界面配置中也會默認填寫為(,)。 如果分隔符不可見,請填寫Unicode編碼。例如,\u001b、\u007c。 | 是 | 默認值:(,) |
compress | 文本壓縮類型,默認不填寫(即不壓縮)。支持壓縮類型為gzip、bzip2和zip。 | 否 | 不壓縮 |
encoding | 讀取文件的編碼配置。 | 否 | utf-8 |
nullFormat | 文本文件中無法使用標準字符串定義null(空指針),數據同步系統提供nullFormat定義哪些字符串可以表示為null。例如,您配置 | 否 | 無 |
skipHeader | CSV格式文件通過skipHeader配置是否讀取表頭內容。
說明 壓縮文件模式下不支持skipHeader。 | 否 | false |
csvReaderConfig | 讀取CSV類型文件參數配置,Map類型。讀取CSV類型文件使用的CsvReader進行讀取,會有很多配置,不配置則使用默認值。 | 否 | 無 |