DataWorks, Azure Blob Storage'da depolanan dosyalardan veri okumanız ve bu dosyalara veri yazmanız için Azure Blob Storage Reader ve Azure Blob Storage Writer bileşenlerini sunar. Azure Blob Storage Reader'ı kullanarak Azure Blob Storage'da depolanan dosyalara erişebilir, dosyalardaki verileri ayrıştırabilir ve ardından bu verileri bir hedefe senkronize edebilirsiniz. Ayrıca Azure Blob Storage Writer'ı kullanarak herhangi bir kaynaktan gelen verileri Azure Blob Storage'a yazabilirsiniz. Bu konuda, Azure Blob Storage veri kaynaklarından ve bu kaynaklara veri senkronize etme yetenekleri açıklanmaktadır.
Sınırlamalar
Azure Blob Storage veri kaynağı aşağıdaki veri türlerini destekler.
|
Veri türü |
Açıklama |
|
STRING |
Metin. |
|
LONG |
Tamsayı. |
|
BYTES |
Bayt dizisi. Okunan metin, bayt dizisine dönüştürülür. Kodlama biçimi UTF-8'dir. |
|
BOOL |
Boole. |
|
DOUBLE |
Ondalık sayı. |
|
DATE |
Tarih ve saat. Aşağıdaki tarih ve saat biçimleri desteklenir:
|
Veri kaynağı ekleme
DataWorks'te bir senkronizasyon görevi geliştirmeden önce, Veri kaynağı yapılandırması bölümündeki talimatları izleyerek gerekli veri kaynağını DataWorks'e eklemeniz gerekir. Bir veri kaynağı eklerken parametrelerin anlamlarını anlamak için DataWorks konsolunda parametre açıklamalarını görüntüleyebilirsiniz.
Veri senkronizasyon görevi geliştirme
Bir senkronizasyon görevini yapılandırmaya yönelik giriş noktası ve yordam hakkında bilgi için aşağıdaki yapılandırma kılavuzlarına bakın.
Tek bir tablonun verilerini senkronize etmek için toplu iş senkronizasyon görevini yapılandırma
Yordam için bkz. Kodsuz kullanıcı arabiriminde senkronizasyon görevi yapılandırma ve Kod düzenleyiciyi kullanarak senkronizasyon görevi yapılandırma.
Kod düzenleyiciye ilişkin tam parametreler ve betik demosu için aşağıdaki Ek: Betik demosu ve parametre açıklaması bölümüne bakın.
Ek: Betik demosu ve parametre açıklaması
Kod düzenleyiciyi kullanarak toplu iş senkronizasyon görevini yapılandırma
Toplu iş senkronizasyon görevini kod düzenleyiciyi kullanarak yapılandırmak istiyorsanız, birleşik betik biçimi gereksinimlerine göre betikteki ilgili parametreleri yapılandırmanız gerekir. Daha fazla bilgi için bkz. Betik modu yapılandırması. Aşağıdaki bilgiler, kod düzenleyiciyi kullanarak toplu iş senkronizasyon görevi yapılandırırken veri kaynakları için yapılandırmanız gereken parametreleri açıklar.
Reader betik demosu
Aşağıda, Azure Blob Storage'dan veri okumaya yönelik bir kod düzenleyici yapılandırma örneği verilmiştir. Writer tarafı, yer tutucu olarak stream kullanır. Bunu gerçek hedef veri kaynağının yapılandırmasıyla değiştirin.
{
"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 betik parametreleri
|
Parametre |
Açıklama |
Gerekli |
Varsayılan değer |
|
datasource |
Veri kaynağı adı. Kod düzenleyici, veri kaynakları eklemenize olanak tanır. Bu parametrenin değeri, eklediğiniz veri kaynağının adıyla aynı olmalıdır. |
Evet |
Yok |
|
fileFormat |
Kaynak dosyanın türü. Geçerli değerler: |
Evet |
Yok |
|
object |
Dosya yolu. Bu parametre, fileFormat csv, text, json veya jsonl olarak ayarlandığında kullanılır. Not
Bu parametre Örneğin, |
Evet fileFormat csv, text, json veya jsonl olarak ayarlandığında gereklidir. |
Yok |
|
path |
Dosya yolu. Bu parametre, fileFormat parquet veya orc olarak ayarlandığında kullanılır. Not
Bu parametre Örneğin, |
Evet fileFormat parquet veya orc olarak ayarlandığında gereklidir. |
Yok |
|
column |
Okunacak alanların listesi. type parametresi, kaynak verinin veri türünü belirtir:
Varsayılan olarak, tüm veriler STRING türü olarak okunabilir. Örnek yapılandırma:
Sütun alanı bilgilerini belirtebilirsiniz. Örnek yapılandırma:
Not
Belirttiğiniz column bilgileri için type alanı gereklidir. CSV/TEXT biçimi için index veya value belirtin. JSON/JSONL biçimi için jsonPath veya value belirtin. |
Evet |
Tüm veriler STRING türü olarak okunur. |
|
fieldDelimiter |
Veri okumak için kullanılan alan sınırlayıcısı. Not
|
Evet |
, |
|
lineDelimiter |
Veri okumak için kullanılan satır sınırlayıcısı. Not
Bu parametre yalnızca fileFormat text olarak ayarlandığında etkili olur. |
Hayır |
Yok |
|
compress |
Metin dosyaları için sıkıştırma türü. Varsayılan olarak bu parametre boş bırakılır; bu, sıkıştırma uygulanmadığı anlamına gelir. Desteklenen sıkıştırma türleri |
Hayır |
Sıkıştırma yok |
|
encoding |
Dosyaları okumak için kodlama yapılandırması. |
Hayır |
utf-8 |
|
nullFormat |
Standart dizeler, metin dosyalarında null (null işaretçi) tanımlamak için kullanılamaz. Veri senkronizasyon sistemi, hangi dizelerin null olarak temsil edilebileceğini tanımlamak için nullFormat sağlar. Örnekler:
|
Hayır |
Yok |
|
skipHeader |
CSV dosyaları için başlığın okunup okunmayacağını belirtmek üzere skipHeader kullanın.
Not
skipHeader, sıkıştırılmış dosya modunda desteklenmez. |
Hayır |
false |
|
parquetSchema |
Bu parametre, Azure Blob Storage'dan Parquet dosya biçiminde veri okurken yapılandırılır. Yalnızca fileFormat parquet olarak ayarlandığında etkili olur ve Parquet depolamasının tür açıklamasını belirtir. parquetSchema'yı belirttiğinizden sonra genel yapılandırmanın JSON sözdizimine uygun olduğundan emin olun.
parquetSchema'nın yapılandırma biçimi aşağıda açıklandığı gibidir:
Aşağıdaki örnek bir yapılandırmayı göstermektedir.
|
Hayır |
Yok |
|
csvReaderConfig |
CSV dosyalarını okumak için parametre yapılandırması. Değer Map türündedir. CSV dosyalarını okumak için CsvReader kullanılır. Bu parametre yapılandırılmazsa varsayılan değerler kullanılır. |
Hayır |
Yok |
|
maxRetryTimes |
Bir dosya indirilemediğinde yapılacak maksimum yeniden deneme sayısı. Not
|
Hayır |
0 |
|
retryIntervalSeconds |
Bir dosya indirilemediğinde yeniden deneme aralığı. Birim: saniye. Not
Bu parametre yalnızca kod düzenleyici modunda yapılandırılabilir. Kodsuz kullanıcı arabiriminde desteklenmez. |
Hayır |
5 |
Writer betik demosu
Aşağıdaki örnek, Azure Blob Storage'a veri yazmaya yönelik bir betik modu yapılandırmasını gösterir. Reader tarafı, yer tutucu olarak stream kullanır. Bunu gerçek kaynak veri kaynağı yapılandırmasıyla değiştirin.
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "stream",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "azureblob",
"parameter": {
"datasource": "",
"fileFormat": "csv",
"object": "dir/example.csv",
"fieldDelimiter": ",",
"lineDelimiter": "\n",
"encoding": "UTF-8",
"nullFormat": "null",
"dateFormat": "yyyy-MM-dd",
"writeMode": "truncate",
"maxFileSize": 100,
"writeSingleObject": false
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"concurrent": 1
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Writer betik parametreleri
|
Parametre |
Açıklama |
Gerekli |
Varsayılan değer |
|
datasource |
Veri kaynağı adı. Betik modu, veri kaynakları eklemenize olanak tanır. Bu parametrenin değeri, eklediğiniz veri kaynağının adıyla aynı olmalıdır. Veri kaynağı, Azure Blob Storage kapsayıcısının SAS URL'si ve imzası (sig) ile yapılandırılmalıdır. |
Evet |
Yok |
|
object |
Azure Blob Storage Writer'ın veri yazdığı dosyanın adı, yol ön eki dahil. Dizinler, dosya adları kullanılarak simüle edilir ve sınırlayıcı eğik çizgidir (/).
|
Evet |
Yok |
|
writeMode |
Azure Blob Storage Writer'ın yazma işleminden önce mevcut verileri nasıl işleyeceğini belirtir:
|
Evet |
Yok |
|
writeSingleObject |
Verilerin tek bir dosyaya yazılıp yazılmayacağını belirtir:
Not
Bu parametre, Parquet veya ORC biçiminde veri yazarken etkili olmaz. |
Hayır |
false |
|
fileFormat |
Dosyaların yazıldığı biçim. Geçerli değerler:
|
Hayır |
text |
|
fieldDelimiter |
Yazma işlemi için kullanılan alan sınırlayıcısı. Bu parametre csv ve text biçimleri için geçerlidir. Bu parametreyi belirtmezseniz varsayılan sınırlayıcı virgül (,) kullanılır. Sınırlayıcı görünmez ise Unicode kodlamasını girin; örneğin |
Hayır |
, |
|
encoding |
Çıktı dosyasının kodlaması. |
Hayır |
utf-8 |
|
nullFormat |
Null (boş işaretçi), metin dosyalarında standart dizeler kullanılarak tanımlanamaz. Veri senkronizasyon sistemi, hangi dizelerin null olarak değerlendirilebileceğini tanımlamak için nullFormat parametresini sağlar. Örneğin, |
Hayır |
\N |
|
dateFormat |
Tarih türündeki verileri biçimlendirmek için kullanılan biçim. |
Hayır |
|
|
header |
Çıktı dosyasının başlığı. Örnek: |
Hayır |
Yok |
|
blockSizeInMB |
Block Blob verileri blok halinde yüklenirken her bir bloğun MB cinsinden boyutu. Azure Block Blob en fazla 50.000 bloğu destekler ve her bir bloğun boyutu 4 MB ile 100 MB arasında değişir. Blok sayısı sınırı aşarsa daha büyük dosya yüklemelerini desteklemek için blok boyutunu artırabilirsiniz. Not Bu parametre yalnızca gelişmiş modda desteklenir, kodsuz kullanıcı arabirimi modunda desteklenmez. Bu parametre yalnızca text, csv ve jsonl biçimleri için etkili olur. |
Hayır |
64 |
|
parquetSchema |
Bu parametre, Parquet dosya biçiminde veri yazıldığında gereklidir. Hedef dosyanın yapısını açıklar ve yalnızca fileFormat parquet olarak ayarlandığında etkili olur. Biçim aşağıdaki gibidir. parquetSchema'nın yapılandırma biçimi aşağıda açıklandığı gibidir:
Aşağıdaki örnek bir örnek yapılandırmayı göstermektedir.
|
Hayır |
Yok |
|
column |
Parquet veya ORC biçiminde veri yazarken yapılandırılan hedef sütun bilgileri. Biçim: |
Hayır |
Yok |
|
compress |
Parquet veya ORC dosyalarını yazmak için sıkıştırma biçimi; örneğin |
Hayır |
Yok |
|
maxRetryTimes |
Blok yükleme, blok listelerini onaylama ve nesneleri silme dahil olmak üzere yazma hatalarında yapılacak maksimum yeniden deneme sayısı. Yeniden denemeleri devre dışı bırakmak için bu parametreyi 0 olarak ayarlayın. Not Bu parametre yalnızca betik modunda kullanılabilir ve kodsuz kullanıcı arabirimi modunda yapılandırılamaz. |
Hayır |
30 |
|
retryIntervalSeconds |
Yazma hatalarında yeniden denemeler arasındaki aralık. Birim: saniye. Bu parametre yalnızca betik modunda kullanılabilir ve kodsuz kullanıcı arabirimi modunda yapılandırılamaz. |
Hayır |
5 |
|
requestTimeoutSeconds |
Tek bir istek için zaman aşımı süresi. Birim: saniye. Bu parametre yalnızca betik modunda kullanılabilir ve kodsuz kullanıcı arabirimi modunda yapılandırılamaz. |
Hayır |
60 |