Tüm Ürünler
Search
Belge Merkezi

DataWorks:Amazon S3 veri kaynağı

Son Güncelleme:Oct 05, 2026

Amazon Simple Storage Service (Amazon S3), herhangi bir miktarda veriyi her yerden depolamak ve almak üzere tasarlanmış bir nesne depolama hizmetidir. DataWorks Veri Entegrasyonu ile Amazon S3'ten veri okuyabilir ve Amazon S3'e veri yazabilirsiniz. Bu konuda, DataWorks'teki Amazon S3 veri kaynağının yetenekleri açıklanmaktadır.

Sınırlamalar

Toplu iş okuma

Amazon S3 yapılandırılmamış verileri depolar. Veri Entegrasyonundaki Amazon S3 okuyucu aşağıdaki özellikleri destekler.

Desteklenen

Desteklenmeyen

  • Yalnızca TXT biçimindeki dosyalar okunabilir ve TXT dosyasındaki şema iki boyutlu bir tablo olmalıdır.

  • Özel ayırıcılara sahip CSV benzeri nesnelerden veri okur.

  • ORC, PARQUET, JSON ve JSONL biçimlerindeki verileri okur.

  • Çeşitli veri türlerini dize olarak okur; sütun budama ve sabit sütunları destekler.

  • Yinelemeli okuma ve nesne adı filtrelemeyi destekler.

  • Nesne sıkıştırmayı destekler. Desteklenen sıkıştırma biçimleri gzip, bzip2 ve zip şeklindedir.

    Not

    Birden çok nesneyi tek bir paket halinde sıkıştıramazsınız.

  • Birden çok nesnenin eş zamanlı olarak okunmasını destekler.

  • Tek bir Object (File) öğesinin çok iş parçacıklı okunmasını desteklemez.

  • Tek bir sıkıştırılmış Object öğesinin çok iş parçacıklı okunmasını desteklemez.

  • 100 GB'den büyük tek bir Object (File) öğesinin okunmasını desteklemez.

Toplu iş yazma

Amazon S3 yazıcı, veri senkronizasyon protokolündeki verileri Amazon S3'teki metin dosyalarına dönüştürür. Amazon S3 kendisi yapılandırılmamış bir veri deposudur. Amazon S3 yazıcı aşağıdaki özellikleri destekler.

Desteklenen

Desteklenmeyen

  • Yalnızca metin türündeki dosyalar yazılabilir (video ve görüntü gibi BLOB türleri desteklenmez) ve metin dosyasındaki şema iki boyutlu bir tablo olmalıdır.

  • Özel ayırıcılara sahip CSV benzeri dosyalara veri yazar.

  • ORC ve PARQUET biçimlerinde veri yazar.

    Not

    Betik modunda SNAPPY sıkıştırma desteklenir.

  • Çok iş parçacıklı yazmayı destekler. Her iş parçacığı farklı bir alt dosyaya yazar.

  • Dosya döndürmeyi destekler. Bir dosya belirtilen boyutu aştığında sistem yeni bir dosyaya geçer.

  • Tek bir dosyaya eş zamanlı yazmayı desteklemez.

  • Amazon S3 veri türleri sağlamaz. Amazon S3 yazıcı, tüm verileri Amazon S3 nesnelerine STRING türünde yazar.

  • Amazon S3 paketinin depolama sınıfı Deep Archive ise yazma işlemleri desteklenmez.

  • Tek bir Object (File) 100 GB'yi aşamaz.

Veri kaynağı ekleme

DataWorks'te bir senkronizasyon görevi geliştirmeden önce, gerekli veri kaynağını Veri kaynağı yapılandırması konusundaki talimatları izleyerek 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

Senkronizasyon görevini yapılandırmak için giriş noktası ve yordam hakkında bilgi edinmek amacıyla aşağıdaki yapılandırma kılavuzlarına bakın.

Tek tablolu toplu iş senkronizasyon görevini yapılandırma

Ek: Betik demosu ve parametre açıklaması

Kod düzenleyicisini kullanarak toplu iş senkronizasyon görevini yapılandırma

Toplu iş senkronizasyon görevini kod düzenleyicisini 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 Betik modu yapılandırması konusuna bakın. Aşağıda, kod düzenleyicisini kullanarak toplu iş senkronizasyon görevini yapılandırırken veri kaynakları için yapılandırmanız gereken parametreler açıklanmaktadır.

Reader betiği demosu

{
    "type":"job",
    "version":"2.0",// The version number.
    "steps":[
        {
            "stepType":"s3",// The plug-in name.
            "parameter":{
                "nullFormat":"",// The string that represents a null value.
                "compress":"",// The compression type.
                "datasource":"",// The data source name.
                "column":[// The columns.
                    {
                        "index":0,// The column index.
                        "type":"string"// The data type.
                    },
                    {
                        "index":1,
                        "type":"long"
                    },
                    {
                        "index":2,
                        "type":"double"
                    },
                    {
                        "index":3,
                        "type":"boolean"
                    },
                    {
                        "format":"yyyy-MM-dd HH:mm:ss", // The time format.
                        "index":4,
                        "type":"date"
                    }
                ],
                "skipHeader":"",// Specifies whether to skip the header row of a CSV-like file.
                "encoding":"",// The encoding format.
                "fieldDelimiter":",",// The column delimiter.
                "fileFormat": "",// The file format. Valid values: csv, text, parquet, orc, json, and jsonl.
                "object":[]// The object prefix.
            },
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"stream",
            "parameter":{},
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":""// The error count.
        },
        "speed":{
            "throttle":true,// Specifies whether to enable throttling. A value of false indicates that throttling is disabled and the mbps parameter does not take effect. A value of true indicates that throttling is enabled.
            "concurrent":1 // The concurrency.
            "mbps":"12",// The throttling rate. 1 mbps = 1 MB/s.
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

Reader betiği 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.

Evet

Yok

Object

Amazon S3'teki nesne bilgileri. Birden çok nesne belirtebilirsiniz. Örneğin, bucket içinde bir test klasörü varsa ve bu klasör ll.txt adlı bir dosya içeriyorsa Object parametresini test/ll.txt olarak ayarlayın.

  • Tek bir S3 nesnesi belirttiğinizde Amazon S3 okuyucu yalnızca tek iş parçacıklı veri çıkarmayı destekler.

  • Birden çok S3 nesnesi belirttiğinizde Amazon S3 okuyucu çok iş parçacıklı veri çıkarmayı destekler. Eş zamanlı iş parçacığı sayısı kanal sayısı tarafından belirtilir.

  • Joker karakterler belirttiğinizde Amazon S3 okuyucu birden çok nesneyi listelemeye çalışır. Örneğin, abc*[0-9] ifadesi abc0, abc1, abc2, abc3 vb. ile eşleşir. Joker karakter kullanımı bellek dışı hatalara neden olabilir. Joker karakter kullanmamanızı öneririz.

Not
  • Veri senkronizasyon sistemi, tek bir iş tarafından senkronize edilen tüm nesneleri tek bir veri tablosu olarak değerlendirir. Tüm nesnelerin aynı şemaya uyduğundan emin olun.

  • Tek bir dizindeki dosya sayısını kontrol altında tutun. Aksi takdirde bir OutOfMemoryError hatası tetiklenebilir. Böyle bir durum oluşursa dosyaları farklı dizinlere bölün ve tekrar deneyin.

Evet

Yok

column

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

  • CSV/TEXT biçimi: index parametresi metin dosyasındaki sütun numarasını (0'dan başlayarak) belirtir ve value parametresi bir sabit değeri belirtir.

  • JSON/JSONL biçimi: Alanları ayıklamak için bir JSONPath ifadesi belirtmek üzere jsonPath kullanın ve value parametresi bir sabit değeri belirtir.

Varsayılan olarak tüm veriler String türünde okunabilir. Örnek yapılandırma:

column": ["*"]

Sütun bilgilerini de belirtebilirsiniz. Örnek yapılandırma:

// CSV/TEXT format
                    "column":    
{       
"type": "long",       
"index": 0 //Retrieve the int field from the first column of the S3 text.
},    
{       
"type": "string",       
"value": "alibaba" //Generate the string field "alibaba" internally from S3 Reader as the current field.    
}
// JSON/JSONL format
"column":    
{       
"name": "id",       
"jsonPath": "$.id",       
"type": "LONG"
},    
{       
"name": "name",       
"jsonPath": "$.user.name",       
"type": "STRING"
},    
{       
"name": "source",       
"value": "s3",       
"type": "STRING"
}
Not

Belirttiğiniz column bilgileri için type parametresi gereklidir. CSV/TEXT biçimi için index veya value değerlerinden birini belirtin. JSON/JSONL biçimi için jsonPath veya value değerlerinden birini belirtin.

Evet

Tüm veriler STRING türünde okunur.

fieldDelimiter

Veri okumak için kullanılan sütun ayırıcısı.

Not

Amazon S3 okuyucu veri okurken bir sütun ayırıcısı belirtmeniz gerekir. Ayırıcı belirtilmezse varsayılan ayırıcı (,) kullanılır. Kodsuz kullanıcı arabiriminde de varsayılan ayırıcı (,) kullanılır.

Ayırıcı görünmezse Unicode kodlamasını belirtin. Örneğin, \u001b veya \u007c.

Evet

Varsayılan değer: (,)

compress

Sıkıştırma türü. Varsayılan olarak bu parametre boş bırakılır; bu durum sıkıştırma uygulanmadığını gösterir. Desteklenen sıkıştırma türleri gzip, bzip2 ve zip şeklindedir.

Hayır

Sıkıştırma yok

encoding

Okunacak dosyaların kodlaması.

Hayır

utf-8

nullFormat

Metin dosyalarındaki standart dizeler null (boş işaretçi) değerini temsil edemez. Veri senkronizasyon sistemi, hangi dizelerin null değerini temsil edebileceğini tanımlamak için nullFormat parametresini kullanır. Örneğin, nullFormat="null" olarak ayarlarsanız ve kaynak veriler "null" ise veri senkronizasyon sistemi bunu boş bir alan olarak değerlendirir.

Hayır

Yok

skipHeader

CSV dosyaları için üstbilgi satırının okunup okunmayacağını belirtmek üzere skipHeader parametresini kullanın.

  • True: Veri senkronizasyonu sırasında üstbilgi satırı okunur.

  • False: Veri senkronizasyonu sırasında üstbilgi satırı okunmaz.

Not

skipHeader parametresi sıkıştırılmış dosyalar için desteklenmez.

Hayır

false

csvReaderConfig

CSV dosyalarını okumak için kullanılan yapılandırma. Bu parametre Map türündedir. CsvReader, CSV dosyalarını okumak için kullanılır ve çeşitli yapılandırmalar sağlar. Bu parametreyi yapılandırmazsanız varsayılan değerler kullanılır.

Hayır

Yok

minLastModified

Son değiştirilme zamanına göre dosyaları filtreler ve dahil edilen alt sınırı ayarlar. Belirtilen değerde veya bu değerden sonra (>=) son değiştirilen dosyalar dahil edilir. yyyyMMddHHmmss biçimini kullanın. Bu parametre, maxLastModified ile birlikte sol kapalı, sağ açık [min, max) aralığını tanımlar.

maxLastModified

Son değiştirilme zamanına göre dosyaları filtreler ve hariç tutulan üst sınırı ayarlar. Yalnızca belirtilen değerden önce (<) son değiştirilen dosyalar dahil edilir. yyyyMMddHHmmss biçimini kullanın. Bu parametre, minLastModified ile birlikte sol kapalı, sağ açık [min, max) aralığını tanımlar.

Writer betiği demosu

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "s3",
            "category": "writer",
            "name": "Writer",
            "parameter": {
                "datasource": "datasource1",
                "object": "test/csv_file.csv",
                "fileFormat": "csv",
                "encoding": "utf8/gbk/...",
                "fieldDelimiter": ",",
                "lineDelimiter": "\n",
                "column": [
                    "0",
                    "1"
                ],
                "header": [
                    "col_bigint",
                    "col_tinyint"
                ],
                "writeMode": "truncate",
                "writeSingleObject": true
            }
        }
    ],
    "setting": {
        "errorLimit": {
            "record": "" // The error count.
        },
        "speed": {
            "throttle": true, // Specifies whether to enable throttling. A value of false indicates that throttling is disabled and the mbps parameter does not take effect. A value of true indicates that throttling is enabled.
            "concurrent": 1 // The concurrency.
            "mbps": "12", // The throttling rate. 1 mbps = 1 MB/s.
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Writer betiği 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.

Evet

Yok

object

Hedef nesnenin adı.

Evet

Yok

fileFormat

Aşağıdaki dosya biçimleri desteklenir:

  • csv: Yalnızca katı CSV biçimi desteklenir. Yazılacak veriler sütun ayırıcıları içeriyorsa veriler CSV kaçış sözdizimine göre kaçılır. Kaçış karakteri çift tırnak işaretidir (").

  • text: Verileri basitçe ayırmak için sütun ayırıcılarını kullanır. Sütun ayırıcıları içeren veriler kaçılmaz.

  • parquet

  • ORC

Evet

text

writeMode

  • truncate: Yazmadan önce, belirtilen nesne adı ön ekiyle eşleşen tüm nesneler silinir. Örneğin, "object":"abc" olarak ayarlarsanız adları abc ile başlayan tüm nesneler silinir.

  • append: Yazmadan önce herhangi bir işlem gerçekleştirilmez. Data Integration S3 yazıcı, dosya adı çakışmalarını önlemek için belirtilen nesne adının sonuna rastgele bir UUID eki ekleyerek verileri doğrudan yazar. Örneğin, nesne adını DI olarak ayarlarsanız yazılan gerçek dosya DI_xxxx_xxxx_xxxx olur.

  • nonConflict: Belirtilen yolda eşleşen ön eke sahip herhangi bir nesne varsa hata bildirilir. Örneğin, "object":"abc" olarak ayarlarsanız ve abc123 adlı bir nesne varsa hata bildirilir.

Evet

append

fieldDelimiter

Veri yazmak için kullanılan sütun ayırıcısı.

Hayır

Varsayılan değer: (,)

lineDelimiter

Veri yazmak için kullanılan satır ayırıcısı.

Hayır

Varsayılan değer: (\n)

compress

Sıkıştırma türü. Varsayılan olarak bu parametre boş bırakılır; bu durum sıkıştırma uygulanmadığını gösterir.

  • fileFormat değeri text veya csv olarak ayarlandığında GZIP ve BZIP2 desteklenir.

  • fileFormat değeri parquet veya orc olarak ayarlandığında SNAPPY sıkıştırma desteklenir.

Hayır

Sıkıştırma yok

nullFormat

Metin dosyalarındaki standart dizeler null (boş işaretçi) değerini temsil edemez. Veri senkronizasyon sistemi, hangi dizelerin null değerini temsil edebileceğini tanımlamak için nullFormat parametresini kullanır. Örneğin, nullFormat="null" olarak ayarlarsanız ve kaynak veriler null ise veri senkronizasyon sistemi bunu boş bir alan olarak değerlendirir.

Hayır

Yok

header

Yazılacak üstbilgi. Örnek: ["id", "name", "age"].

Hayır

Yok

writeSingleObject

true: Verileri tek bir dosyaya yazar. false: Verileri birden çok dosyaya yazar.

Not
  • ORC veya Parquet biçiminde veri yazarken writeSingleObject parametresi etkili olmaz. Bu parametreyle bile çoklu eşzamanlılık senaryolarında tek bir ORC veya Parquet dosyasına veri yazamazsınız. Tek bir dosyaya veri yazmak için eşzamanlılığı 1 olarak ayarlayın. Ancak dosya adına rastgele bir sonek eklenir ve eşzamanlılığı 1 olarak ayarlamak senkronizasyon hızını etkiler.

  • Bazı senaryolarda, örneğin kaynak Hologres olduğunda, veriler parça bölümlerine göre okunur. Tekli eşzamanlılıkta bile birden çok dosya oluşturulabilir.

Hayır

false

encoding

Yazılacak dosyaların kodlaması.

Hayır

utf-8

column

Veri yazmak için kullanılan sütun yapılandırması.

  • fileFormat değeri csv veya text olarak ayarlandığında column parametresini sayısal yer tutucularla yapılandırın. Örnek:

    "column":[
     "0",
     "1"
     ]
  • fileFormat değeri Parquet veya ORC olarak ayarlandığında column parametresini name ve type kombinasyonlarıyla yapılandırın. Örnek:

    "column": [
      {
        "name": "col1",
        "type": "BIGINT"
      },
      {
        "name": "col2",
        "type": "DOUBLE"
      }

Evet

Yok