Amazon S3 (Simple Storage Service) adalah layanan penyimpanan objek yang memungkinkan Anda menyimpan dan mengambil data dalam jumlah berapa pun dari mana saja. Data Integration di DataWorks mendukung pembacaan dan penulisan data ke Amazon S3. Topik ini menjelaskan fitur-fitur sumber data Amazon S3.
Batasan
Baca Batch
Amazon S3 adalah layanan penyimpanan data tidak terstruktur. Reader Amazon S3 di Data Integration mendukung fitur-fitur berikut.
Didukung | Tidak Didukung |
|
|
Tulis Batch
Writer Amazon S3 mengonversi data dari protokol Sinkronisasi Data menjadi file teks di Amazon S3. Karena Amazon S3 adalah layanan penyimpanan data tidak terstruktur, Writer Amazon S3 mendukung fitur-fitur berikut.
Didukung | Tidak Didukung |
|
|
Tambahkan sumber data
Sebelum mengembangkan task sinkronisasi di DataWorks, Anda harus menambahkan sumber data yang diperlukan ke DataWorks dengan mengikuti petunjuk dalam Manajemen Sumber Data. Anda dapat melihat deskripsi parameter di Konsol DataWorks untuk memahami arti parameter saat menambahkan sumber data.
Kembangkan task sinkronisasi data
Untuk informasi mengenai titik masuk dan prosedur konfigurasi task sinkronisasi, lihat panduan konfigurasi berikut.
Konfigurasikan task sinkronisasi batch tabel tunggal
Untuk prosedurnya, lihat Konfigurasikan task di Antarmuka tanpa kode dan Konfigurasikan task di editor kode.
Untuk semua parameter dan contoh skrip konfigurasi task dalam Script Mode, lihat Lampiran: Contoh skrip dan deskripsi parameter di bagian akhir topik ini.
Lampiran: Contoh skrip dan deskripsi parameter
Konfigurasikan task sinkronisasi batch menggunakan editor kode
Jika ingin mengonfigurasi task sinkronisasi batch menggunakan editor kode, Anda harus mengatur parameter terkait dalam skrip sesuai persyaratan format skrip terpadu. Untuk informasi lebih lanjut, lihat Konfigurasikan task di editor kode. Informasi berikut menjelaskan parameter yang harus dikonfigurasi untuk sumber data saat mengatur task sinkronisasi batch menggunakan editor kode.
Contoh skrip Reader
{
"type":"job",
"version":"2.0",// Nomor versi.
"steps":[
{
"stepType":"s3",// Nama plugin.
"parameter":{
"nullFormat":"",// Menentukan string yang merepresentasikan nilai null.
"compress":"",// Jenis kompresi teks.
"datasource":"",// Sumber data.
"column":[// Bidang.
{
"index":0,// Indeks kolom.
"type":"string"// Tipe data.
},
{
"index":1,
"type":"long"
},
{
"index":2,
"type":"double"
},
{
"index":3,
"type":"boolean"
},
{
"format":"yyyy-MM-dd HH:mm:ss", // Format waktu.
"index":4,
"type":"date"
}
],
"skipHeader":"",// Melewati header file mirip CSV.
"encoding":"",// Format encoding.
"fieldDelimiter":",",// Pemisah bidang.
"fileFormat": "",// Jenis file teks.
"object":[]// Awalan objek.
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":""// Jumlah catatan error yang diizinkan.
},
"speed":{
"throttle":true,// Menentukan apakah Pembatasan laju diaktifkan. Jika parameter ini diatur ke false, parameter mbps akan diabaikan.
"concurrent":1, // Jumlah pekerjaan konkuren.
"mbps":"12"// Laju transfer maksimum dalam MB/s. Catatan: Dalam konteks ini, 1 mbps sama dengan 1 MB/s.
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}Parameter skrip Reader
Parameter | Deskripsi | Wajib | Nilai Default |
datasource | Nama sumber data. Dalam Script Mode, nilai parameter ini harus sesuai dengan nama sumber data yang Anda tambahkan. | Ya | Tidak ada |
object | Object S3 atau Objects yang akan dibaca. Anda dapat menentukan beberapa Object. Misalnya, jika sebuah bucket berisi folder bernama `test` dengan file bernama ll.txt, atur nilai object menjadi test/ll.txt.
Catatan
| Ya | Tidak ada |
column | Daftar bidang yang akan dibaca. `type` menentukan tipe data di sumber. `index` menentukan posisi kolom (dimulai dari 0) dalam file teks. `value` menentukan nilai konstan untuk kolom tersebut. Nilai ini dihasilkan secara otomatis, bukan dibaca dari file sumber. Secara default, Anda dapat membaca semua data sebagai tipe string. Konfigurasinya sebagai berikut: Anda juga dapat menentukan informasi kolom secara detail. Konfigurasinya sebagai berikut: Catatan Ketika Anda menentukan informasi column, parameter `type` wajib diisi. Anda harus menentukan salah satu dari `index` atau `value`. | Ya | Semua kolom dibaca sebagai tipe STRING. |
fieldDelimiter | Pemisah yang digunakan untuk memisahkan bidang. Catatan Anda harus menentukan pemisah bidang untuk Reader Amazon S3. Jika pemisah bidang tidak ditentukan, koma (,) digunakan sebagai default. Nilai default ini juga telah diisi sebelumnya di UI. Jika pemisah bukan karakter yang terlihat, gunakan representasi Unicode-nya. Misalnya, Anda dapat menggunakan \u001b atau \u007c. | Ya | , (koma) |
compress | Jenis kompresi teks. Secara default, parameter ini kosong, yang menunjukkan tidak ada kompresi yang digunakan. Jenis kompresi berikut didukung: gzip, bzip2, dan zip. | Tidak | Tidak ada |
encoding | Format encoding file sumber. | Tidak | UTF-8 |
nullFormat | File teks tidak dapat menggunakan string standar untuk merepresentasikan nilai null. Anda dapat menggunakan parameter nullFormat untuk menentukan string yang merepresentasikan nilai null. Misalnya, jika Anda mengatur | Tidak | Tidak ada |
skipHeader | Untuk file mirip CSV, Anda dapat menggunakan parameter skipHeader untuk menentukan apakah baris header dilewati.
Catatan Anda tidak dapat menggunakan parameter skipHeader untuk file terkompresi. | Tidak | false |
csvReaderConfig | Pengaturan lanjutan untuk membaca file CSV. Parameter ini bertipe map. Jika tidak dikonfigurasi, pengaturan default CsvReader akan digunakan. | Tidak | Tidak ada |
Contoh skrip Writer
{
"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": "" // Jumlah catatan error yang diizinkan.
},
"speed": {
"throttle": true, // Menentukan apakah Pembatasan laju diaktifkan. Jika parameter ini diatur ke false, parameter mbps akan diabaikan.
"concurrent": 1, // Jumlah pekerjaan konkuren.
"mbps": "12" // Laju transfer maksimum dalam MB/s. Catatan: Dalam konteks ini, 1 mbps sama dengan 1 MB/s.
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}Parameter skrip Writer
Parameter | Deskripsi | Wajib | Nilai Default |
datasource | Nama sumber data. Dalam Script Mode, nilai parameter ini harus sama dengan nama sumber data yang Anda tambahkan. | Ya | Tidak ada |
object | Nama objek tujuan. | Ya | Tidak ada |
fileFormat | Format file. Format berikut didukung:
| Ya | text |
writeMode |
| Ya | append |
fieldDelimiter | Pemisah yang digunakan untuk memisahkan bidang dalam file output. | Tidak | , (koma) |
lineDelimiter | Pemisah yang digunakan untuk memisahkan baris dalam file output. | Tidak | \n (karakter baris baru) |
compress | Jenis kompresi teks. Secara default, parameter ini kosong, yang menunjukkan tidak ada kompresi yang digunakan.
| Tidak | Tidak ada |
nullFormat | File teks tidak dapat menggunakan string standar untuk merepresentasikan nilai null. Anda dapat menggunakan parameter | Tidak | Tidak ada |
header | Baris header yang akan ditulis ke file. Contoh: | Tidak | Tidak ada |
writeSingleObject | Menentukan apakah data ditulis ke satu file. Nilai yang valid: `true` dan `false`. Catatan
| Tidak | false |
encoding | Format encoding file output. | Tidak | UTF-8 |
column | Konfigurasi kolom file output.
| Ya | Tidak ada |