Azure Blob Storage數(shù)據(jù)源
Azure Blob Storage數(shù)據(jù)源為您提供讀取文件的能力,您可以使用本數(shù)據(jù)源,獲取Azure Blob Storage中存儲的文件,解析并同步至任意目標數(shù)據(jù)源。本文為您介紹DataWorks的Azure Blob Storage數(shù)據(jù)同步的能力支持情況。
使用限制
支持的字段類型
Azure Blob Stoage數(shù)據(jù)源,提供了以下數(shù)據(jù)類型。
數(shù)據(jù)類型 | 說明 |
STRING | 文本類型。 |
LONG | 整型。 |
BYTES | 字節(jié)數(shù)組,將讀取到的文本內(nèi)容轉(zhuǎn)為UTF-8編碼的字節(jié)數(shù)組。 |
BOOL | 布爾型。 |
DOUBLE | 浮點型。 |
DATE | 日期時間類型,支持以下日期時間格式:
|
創(chuàng)建數(shù)據(jù)源
在進行數(shù)據(jù)同步任務(wù)開發(fā)時,您需要在DataWorks上創(chuàng)建一個對應的數(shù)據(jù)源,操作流程請參見創(chuàng)建并管理數(shù)據(jù)源,詳細的配置參數(shù)解釋可在配置界面查看對應參數(shù)的文案提示。
數(shù)據(jù)同步任務(wù)開發(fā)
數(shù)據(jù)同步任務(wù)的配置入口和通用配置流程可參見下文的配置指導。
單表離線同步任務(wù)配置指導
腳本模式配置的全量參數(shù)和腳本Demo,請參見下文附錄:腳本Demo與參數(shù)說明。
附錄:腳本Demo與參數(shù)說明
離線任務(wù)腳本配置方式
如果您配置離線任務(wù)時使用腳本模式的方式進行配置,您需要按照統(tǒng)一的腳本格式要求,在任務(wù)腳本中編寫相應的參數(shù),詳情請參見通過腳本模式配置離線同步任務(wù),以下為您介紹腳本模式下數(shù)據(jù)源的參數(shù)配置詳情。
Reader腳本Demo
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "azureblob",
"parameter": {
"datasource": "",
"object": ["f/z/1.csv"],
"fileFormat": "csv",
"encoding": "utf8/gbk/...",
"fieldDelimiter": ",",
"useMultiCharDelimiter": true,
"lineDelimiter": "\n",
"skipHeader": true,
"compress": "zip/gzip",
"column": [
{
"index": 0,
"type": "long"
},
{
"index": 1,
"type": "boolean"
},
{
"index": 2,
"type": "double"
},
{
"index": 3,
"type": "string"
},
{
"index": 4,
"type": "date"
}
]
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "stream",
"parameter": {},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"concurrent": 1
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Reader腳本參數(shù)
參數(shù) | 描述 | 是否必選 | 默認值 |
datasource | 數(shù)據(jù)源名稱,腳本模式支持添加數(shù)據(jù)源,該配置項填寫的內(nèi)容必須和添加的數(shù)據(jù)源名稱保持一致。 | 是 | 無 |
fileFormat | 源頭文件類型。支持 | 是 | 無 |
object | 文件路徑,當fileFormat取值為csv、text時使用。 說明 此參數(shù)支持 例如:您需要同步 | 是 fileFormat取值為csv、text時必填。 | 無 |
path | 文件路徑,當fileFormat取值為parquet、orc時使用。 說明 此參數(shù)支持 例如:您需要同步 | 是 fileFormat取值為parquet、orc時必填。 | 無 |
column | 讀取字段列表,type指定源數(shù)據(jù)的類型,index指定當前列來自于文本第幾列(以0開始),value指定當前類型為常量,不是從源頭文件讀取數(shù)據(jù),而是根據(jù)value值自動生成對應的列。 默認情況下,您可以全部按照String類型讀取數(shù)據(jù),配置如下。
您可以指定column字段信息,配置如下。
說明 對于您指定的column信息,type必須填寫,index和value必須選擇其一。 | 是 | 全部按照STRING類型讀取。 |
fieldDelimiter | 讀取的字段分隔符。 說明
| 是 | , |
lineDelimiter | 讀取的行分隔符。 說明 當fileFormat取值為text時,本參數(shù)有效。 | 否 | 無 |
compress | 文本壓縮類型,默認不填寫(即不壓縮)。支持壓縮類型為 | 否 | 不壓縮 |
encoding | 讀取文件的編碼配置。 | 否 | utf-8 |
nullFormat | 文本文件中無法使用標準字符串定義null(空指針),數(shù)據(jù)同步系統(tǒng)提供nullFormat定義哪些字符串可以表示為null。例如:
| 否 | 無 |
skipHeader | CSV格式文件通過skipHeader配置是否讀取表頭內(nèi)容。
說明 壓縮文件模式下不支持skipHeader。 | 否 | false |
parquetSchema | 以Parquet文件格式讀取Azure Blob Storage時配置,當且僅當fileFormat為parquet時生效,具體表示parquet存儲的類型說明。您需要確保填寫parquetSchema后,整體配置符合JSON語法。
parquetSchema的配置格式說明如下:
配置示例如下所示。
| 否 | 無 |
csvReaderConfig | 讀取CSV類型文件參數(shù)配置,Map類型。讀取CSV類型文件使用的CsvReader進行讀取,不配置則使用默認值。 | 否 | 無 |
maxRetryTimes | 文件下載失敗時的最大重試次數(shù)。 說明
| 否 | 0 |
retryIntervalSeconds | 文件下載失敗時重試間隔,單位秒。 說明 高級模式,向?qū)J讲恢С执藚?shù)的配置。 | 否 | 5 |