Tüm Ürünler
Search
Belge Merkezi

DataWorks:FTP veri kaynağı

Son Güncelleme:Oct 05, 2026

DataWorks, FTP sunucularından veri okumak ve FTP sunucularına veri yazmak için FTP'yi veri kaynağı olarak destekler.

Sınırlamalar

FTP Reader, uzak FTP dosyalarından veri okur ve bu verileri Data Integration protokolüne dönüştürür. Uzak FTP dosyaları yapılandırılmamış veri olarak depolanır.

Desteklenir

Desteklenmez

  • Yalnızca metin dosyalarından veri okur. Metin dosyalarındaki verilerin şeması iki boyutlu bir tablo olmalıdır.

  • Özel ayraçlara sahip CSV benzeri dosyalardan veri okur.

  • JSON ve JSONL formatındaki verileri okur.

  • Çeşitli veri türlerini dize (string) olarak okur. Sütun budama ve sabit sütunlar desteklenir.

  • Özyinelemeli okuma ve dosya adı filtrelemeyi destekler.

  • Dosya sıkıştırmayı destekler. Aşağıdaki sıkıştırma formatları desteklenir: gzip, bzip2, zip, lzo ve lzo_deflate.

  • Birden çok dosyadan eşzamanlı okumayı destekler.

  • Paralel iş parçacıkları kullanarak tek bir dosyanın eşzamanlı okunması. Bu işlem dahili bir dosya bölme algoritması gerektirir.

  • Teknik sınırlamalar nedeniyle paralel iş parçacıkları kullanarak tek bir sıkıştırılmış dosyanın eşzamanlı okunması desteklenmez.

FTP Writer, Data Integration protokolüne göre verileri dönüştürür ve bu verileri bir FTP sunucusundaki dosyalara yazar.

Desteklenir

Desteklenmez

  • Yalnızca metin dosyalarına veri yazar. Video gibi BLOB veriler desteklenmez. Metin dosyalarındaki verilerin şeması iki boyutlu bir tablo olmalıdır.

  • Özel ayraçlara sahip CSV benzeri, TEXT, JSON ve JSONL dosyalarına veri yazar.

  • Paralel iş parçacıkları kullanarak veri yazar. Her iş parçacığı verileri farklı bir alt dosyaya yazar.

  • Tek bir dosyaya eşzamanlı yazma işlemi.

  • Yerel veri türleri. FTP Writer tüm verileri STRING veri türü olarak yazar.

  • Veri yazılırken dosya sıkıştırma.

Desteklenen veri türleri

Uzak FTP dosyalarının yerel veri türleri yoktur. Bunun yerine, veri türleri Data Integration içindeki FTP Reader tarafından tanımlanır.


Data Integration türü


FTP türü


LONG


LONG


DOUBLE


DOUBLE


STRING


STRING


BOOLEAN


BOOLEAN


DATE


DATE

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ırmak için giriş noktası ve prosedür hakkında bilgi edinmek için aşağıdaki yapılandırma kılavuzlarına bakın.

Tek tablo toplu iş senkronizasyonu

Ek: Betik örneği ve parametreler

Kod düzenleyiciyi kullanarak bir toplu iş senkronizasyon görevi yapılandırma

Bir toplu iş senkronizasyon görevini kod düzenleyiciyi kullanarak yapılandırmak istiyorsanız, ilgili parametreleri betikte birleşik betik formatı gereksinimlerine göre yapılandırmanız gerekir. Daha fazla bilgi için Betik modu yapılandırması konusuna bakın. Aşağıdaki bilgiler, kod düzenleyiciyi kullanarak bir toplu iş senkronizasyon görevi yapılandırırken veri kaynakları için yapılandırmanız gereken parametreleri açıklar.

Reader betik örneği

{
    "type":"job",
    "version":"2.0",// Version number.
    "steps":[
        {
            "stepType":"ftp",// Plug-in name.
            "parameter":{
                "path":[],// File path.
                "nullFormat":"",// Null value.
                "compress":"",// Compression format.
                "datasource":"",// Data source.
                "column":[// Columns.
                    {
                        "index":0,// ID.
                        "type":""// Data type.
                    }
                ],
                "skipHeader":"",// Specifies whether to include a header.
                "fieldDelimiter":",",// Column delimiter.
                "encoding":"UTF-8",// Encoding format.
                "fileFormat":"csv"// File format.
            },
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"stream",
            "parameter":{},
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0"// Maximum number of allowed dirty data records.
        },
        "speed":{
        "throttle":true,// If false, the mbps parameter is ignored and no throttling is applied. If true, throttling is applied based on the mbps value.
            "concurrent":1, // Job concurrency.
            "mbps":"12"// Throttling rate. 1 mbps = 1 MB/s.
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

Reader betik parametreleri

Parametre

Açıklama

Gerekli

Varsayılan

datasource

DataWorks'te yapılandırdığınız veri kaynağının adıyla eşleşmesi gereken veri kaynağının adı.

Evet

Yok

path

Uzak FTP dosya sistemindeki kaynak dosyanın yolu. Dosya adı uzantısı dahil olmak üzere kaynak dosyanın tam yolunu belirtmeniz gerekir. Birden çok yol belirtebilirsiniz.

  • Tek bir uzak FTP dosyası belirtirseniz FTP Reader verileri yalnızca tek bir iş parçacığı kullanarak çıkarabilir. FTP Reader'ın gelecekteki sürümleri, paralel iş parçacıkları kullanarak tek bir sıkıştırılmamış dosyadan eşzamanlı okumayı destekleyecektir.

  • Birden çok uzak FTP dosyası belirtirseniz FTP Reader verileri paralel iş parçacıkları kullanarak çıkarabilir. Eşzamanlı iş parçacığı sayısı kanal sayısı tarafından belirtilir.

  • Joker karakter belirtirseniz FTP Reader birden çok dosya bulmak için tarama yapmaya çalışır. Örneğin, / belirtirseniz FTP Reader / dizinindeki tüm dosyaları okur. /bazhen/ belirtirseniz FTP Reader /bazhen/ dizinindeki tüm dosyaları okur. FTP Reader dosya joker karakteri olarak yalnızca yıldız işaretini (*) destekler. Dosya adlarını ve dosya yollarını esnek bir şekilde yapılandırmak için zamanlama parametrelerini de kullanabilirsiniz.

Not
  • Yıldız işareti (*) joker karakterini kullanmaktan kaçının. Bu joker karakter Java Sanal Makinesinde (JVM) bellek yetersizliği (OOM) hatasına neden olabilir.

  • Data Integration, bir görevde senkronize edilen tüm metin dosyalarını tek bir veri tablosu olarak kabul eder. Tüm dosyaların aynı şema ile işlenebildiğinden emin olmalısınız.

  • Dosyaların CSV benzeri bir formatta olduğundan ve Data Integration sisteminin bunlar üzerinde okuma izinlerine sahip olduğundan emin olmalısınız.

  • Belirtilen yolla eşleşen hiçbir dosya bulunamazsa veri senkronizasyon görevi başarısız olur.

Evet

Yok

column

Okunacak sütunların listesi. type, kaynak verilerin veri türünü belirtir:

  • CSV/TEXT formatı: index, veri okumak istediğiniz sütunu belirtir. Değer 0 tabanlıdır. value bir sabit değeri belirtir.

  • JSON/JSONL formatı: Alanları çıkarmak için bir JSONPath ifadesi belirtmek üzere jsonPath kullanın. value bir sabit değeri belirtir.

Varsayılan olarak "column":["*"] yapılandırmasını kullanarak tüm verileri STRING türü olarak okuyabilirsiniz. column alanını aşağıdaki gibi belirtebilirsiniz.

// CSV/TEXT formatı
    {
        "type": "long",
        "index": 0    // Uzak FTP metin dosyasının ilk sütunundan INT alanı olarak veri okur.
      },
      {
        "type": "string",
        "value": "alibaba"  // FTP Reader'da değeri alibaba olan bir dize alanı oluşturur.
      }
// JSON/JSONL formatı
{
    "name": "id",
    "jsonPath": "$.id",
    "type": "LONG"
  },
  {
    "name": "name",
    "jsonPath": "$.user.name",
    "type": "STRING"
  },
  {
    "name": "source",
    "value": "ftp",
    "type": "STRING"
  }

Belirtilen column için type belirtmeniz gerekir. CSV/TEXT formatı için index veya value seçeneğini seçin. JSON/JSONL formatı için jsonPath veya value seçeneğini seçin.

Evet

Yok

fieldDelimiter

Kaynak dosyalarda sütunları ayırmak için kullanılan ayraç.

Not

FTP Reader'ın veri okuması için bir ayraç belirtmeniz gerekir. Ayraç belirtmezseniz varsayılan virgül (,) kullanılır. Kullanıcı arayüzünde de varsayılan olarak virgül (,) belirtilir.

Evet

,

skipHeader

CSV benzeri bir dosyada başlık satırı olabilir. Başlık satırını atlayabilirsiniz. Varsayılan olarak başlık satırı atlanmaz. Bu parametre sıkıştırılmış dosyalar için desteklenmez.

Hayır

false

encoding

Kaynak dosyaların kodlaması.

Hayır

utf-8

nullFormat

Metin dosyaları null değerler (null işaretçileri) için standart dizeler kullanamaz. Hangi dizelerin null değerleri temsil ettiğini belirtmek için nullFormat kullanın. Örnekler:

  • Bu parametreyi nullFormat:"null" olarak ayarlarsanız ve kaynak veri "null" dizesiyse Data Integration kaynak veriyi null değer olarak işler.

  • Bu parametreyi nullFormat:"\u0001" olarak ayarlarsanız ve kaynak veri \u0001 dizesiyse Data Integration kaynak veriyi null değer olarak işler.

  • "nullFormat" parametresini yapılandırmazsanız dönüşüm gerçekleştirilmez ve kaynak veri olduğu gibi hedefe yazılır.

Hayır

Yok

markDoneFileName

İşlem tamamlandığında oluşturulan dosyanın adı. Bir veri senkronizasyon görevi başlamadan önce sistem işaret dosyasının var olup olmadığını kontrol eder. Dosya yoksa sistem belirli bir süre bekler ve tekrar kontrol eder. Görev yalnızca dosya algılandıktan sonra başlar.

Hayır

Yok

maxRetryTime

İşaret dosyası kontrolü için yeniden deneme sayısı. Varsayılan değer 60'tır. Yeniden denemeler arasındaki aralık 1 dakikadır, bu da toplam bekleme süresinin 60 dakika olduğu anlamına gelir.

Hayır

60

csvReaderConfig

CSV dosyalarını okumak için kullanılan parametreler. Değer Map türünde olmalıdır. CSV dosyaları CsvReader tarafından okunur. Birden çok yapılandırma mevcuttur. Bu parametreyi yapılandırmazsanız varsayılan değerler kullanılır.

Hayır

Yok

fileFormat

Kaynak dosyaların formatı. Geçerli değerler: csv, text, json ve jsonl. Varsayılan olarak dosyalar CSV dosyaları olarak okunur ve mantıksal iki boyutlu tablolar olarak işlenir. Bu parametreyi binary olarak ayarlarsanız dosyalar ikili formatda kopyalanır.

Bu parametre genellikle FTP ve OSS gibi depolama sistemleri arasında dizin yapılarının yansıtılması için kullanılır. Çoğu durumda bu parametreyi yapılandırmanız gerekmez.

Hayır

Yok

Writer betik örneği

{
    "type":"job",
    "version":"2.0",// Version number.
    "steps":[
        { 
            "stepType":"stream",
            "parameter":{},
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"ftp",// Plug-in name.
            "parameter":{
                "path":"",// File path.
                "fileName":"",// File name.
                "nullFormat":"null",// Null value.
                "dateFormat":"yyyy-MM-dd HH:mm:ss",// Date format.
                "datasource":"",// Data source.
                "writeMode":"",// Write mode.
                "fieldDelimiter":",",// Column delimiter.
                "encoding":"",// Encoding format.
                "fileFormat":""// File format.
            },
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0"// Maximum number of allowed dirty data records.
        },
        "speed":{
            "throttle":true,// If false, the mbps parameter is ignored and no throttling is applied. If true, throttling is applied based on the mbps value.
            "concurrent":1, // Job concurrency.
            "mbps":"12"// Throttling rate. 1 mbps = 1 MB/s.
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

Writer betik parametreleri

Parametre

Açıklama

Gerekli

Varsayılan

datasource

DataWorks'te yapılandırdığınız veri kaynağının adıyla eşleşmesi gereken veri kaynağının adı.

Evet

Yok

timeout

FTP sunucusuna bağlanmak için zaman aşımı süresi. Birim: milisaniye.

Hayır

60.000 (1 dakika)

path

FTP dosya sistemindeki hedef yol. FTP Writer bu parametreyle belirtilen dizine birden çok dosya yazar.

Evet

Yok

fileName

FTP Writer'ın veri yazdığı dosyanın adı. Her iş parçacığı için gerçek dosya adını oluşturmak üzere bu dosya adına rastgele bir sonek eklenir.

Evet

Yok

singleFileOutput

Varsayılan olarak FTP Writer, her iş parçacığı için benzersiz bir dosya adı oluşturmak amacıyla belirtilen fileName değerine rastgele bir sonek ekler. Rastgele son ekin eklenmesini istemiyorsanız bu parametreyi true olarak ayarlayabilirsiniz. Bu durumda çıktı dosya adı tam olarak belirttiğiniz değer olur.

Hayır

false

writeMode

Yazmadan önce verileri temizleme modu.

  • truncate: singleFileOutput değeri true ise veri yazılmadan önce hedef dizindeki aynı ada sahip dosyalar silinir. singleFileOutput değeri false ise veri yazılmadan önce hedef dizindeki belirtilen fileName önekine sahip tüm dosyalar silinir.

  • append: Hiçbir veri temizlenmez. FTP Writer, belirtilen fileName değerini kullanarak dosyaları doğrudan yazar ve dosya adlarının çakışmamasını sağlar.

  • nonConflict: Dizinde belirtilen fileName önekine sahip bir dosya varsa görev başarısız olur ve hata raporlanır.

Evet

Yok

fieldDelimiter

Hedef dosyalarda sütunları ayırmak için kullanılan ayraç.

Evet (yalnızca tek karakter)

Yok

skipHeader

CSV benzeri dosyalarda atlanması gereken başlık satırları olabilir. Varsayılan olarak başlık satırları atlanmaz. Sıkıştırılmış dosyalar skipHeader parametresini desteklemez.

Hayır

false

compress

Desteklenen sıkıştırma formatları: gzip ve bzip2.

Hayır

Sıkıştırma yok

encoding

Hedef dosyaların kodlaması.

Hayır

utf-8

nullFormat

Metin dosyaları null değerler (null işaretçileri) için standart dizeler kullanamaz. Hangi dizelerin null değerleri temsil ettiğini belirtmek için nullFormat kullanın.

Örneğin, nullFormat="null" yapılandırırsanız kaynak veri bir null işaretçisi olduğunda Data Integration bunu değişmez 'null' dizesine (4 karakter) serileştirir.

Hayır

Yok

dateFormat

DATE türündeki verilerin bir dosyaya serileştirilmesi için format. Örnek: "dateFormat":"yyyy-MM-dd".

Hayır

Yok

fileFormat

Hedef dosyaların formatı. Geçerli değerler: CSV, TEXT, JSON ve JSONL. CSV katı bir formattır. Yazılacak veriler bir sütun ayraçı içeriyorsa veriler CSV kaçış kuralına göre çift tırnak işareti (") ile kaçışlanır. TEXT, verileri ayırmak için bir sütun ayraç kullanan basit bir formattır. Verilerdeki ayraçlar kaçışlanmaz.

Hayır

TEXT

header

Metin dosyasına yazılacak başlık satırı. Betik modunda başlık bilgilerini yapılandırabilirsiniz. Örneğin, bu parametreyi "header":["id","name","age"] olarak ayarlayabilirsiniz. Bu durumda id, name ve age FTP dosyasının ilk satırına başlık olarak yazılır.

Hayır

Yok

markDoneFileName

  • İşlem tamamlandığında oluşturulan dosyanın adı. Veri senkronizasyon görevi tamamlandıktan sonra sistem bir işaret dosyası oluşturur. Görevin başarılı olup olmadığını belirlemek için bu dosyayı kontrol edebilirsiniz. Bu dosya için mutlak bir yol belirtmeniz gerekir.

  • Dönemsel toplu iş görevleri için dosya adına bir zamanlama parametresi ekleyin. Örneğin, dosya adını /user/ftp/markDone_${bizdate}.txt olarak ayarlayabilirsiniz; burada ${bizdate} bir zamanlama parametresidir.

Hayır

Yok