Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek yang dirancang untuk menyimpan dan mengambil data dalam jumlah berapa pun dari mana saja. Data Integration di DataWorks memungkinkan Anda membaca data dari dan menulis data ke Amazon S3. Topik ini menjelaskan kemampuan sumber data Amazon S3 di DataWorks.
Batasan
Baca batch
Amazon S3 menyimpan data tidak terstruktur. Di Data Integration, reader Amazon S3 mendukung fitur-fitur berikut.
|
Didukung |
Tidak didukung |
|
|
Tulis batch
Writer Amazon S3 mengonversi data dari protokol sinkronisasi data menjadi file teks di Amazon S3. Amazon S3 merupakan 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 tentang titik masuk dan prosedur konfigurasi task sinkronisasi, lihat panduan konfigurasi berikut.
Konfigurasikan task sinkronisasi batch single-table
-
Untuk prosedurnya, lihat Konfigurasikan task sinkronisasi batch menggunakan Antarmuka tanpa kode dan Konfigurasikan task sinkronisasi batch menggunakan editor kode.
-
Untuk daftar lengkap parameter dan contoh skrip dalam mode skrip, lihat Lampiran: Contoh skrip dan deskripsi parameter.
Lampiran: Contoh skrip dan deskripsi parameter
Konfigurasikan task sinkronisasi batch menggunakan editor kode
Jika ingin mengonfigurasi task sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip sesuai persyaratan format skrip terpadu. Untuk informasi selengkapnya, lihat Gunakan Editor Kode. Informasi berikut menjelaskan parameter yang harus dikonfigurasi untuk sumber data saat mengonfigurasi task sinkronisasi batch menggunakan editor kode.
Contoh skrip Reader
{
"type":"job",
"version":"2.0",// Nomor versi.
"steps":[
{
"stepType":"s3",// Nama plugin.
"parameter":{
"nullFormat":"",// String yang merepresentasikan nilai null.
"compress":"",// Jenis kompresi.
"datasource":"",// Nama sumber data.
"column":[// Kolom.
{
"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":"",// Menentukan apakah baris header file mirip CSV dilewati.
"encoding":"",// Format encoding.
"fieldDelimiter":",",// Pemisah kolom.
"fileFormat": "",// Format file.
"object":[]// Awalan objek.
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":""// Jumlah error.
},
"speed":{
"throttle":true,// Menentukan apakah Pembatasan kecepatan diaktifkan. Nilai false berarti Pembatasan kecepatan dinonaktifkan dan parameter mbps tidak berlaku. Nilai true berarti Pembatasan kecepatan diaktifkan.
"concurrent":1 // Konkurensi.
"mbps":"12",// Laju pembatasan. 1 mbps = 1 MB/s.
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}Parameter skrip Reader
|
Parameter |
Deskripsi |
Wajib |
Nilai default |
|
datasource |
Nama sumber data. Mode skrip memungkinkan Anda menambahkan sumber data. Nilai parameter ini harus sama dengan nama sumber data yang Anda tambahkan. |
Ya |
N/A |
|
Object |
Informasi objek di Amazon S3. Anda dapat menentukan beberapa objek. Misalnya, jika bucket berisi folder test, dan folder tersebut berisi file bernama ll.txt, atur Object menjadi test/ll.txt.
Catatan
|
Ya |
N/A |
|
column |
Daftar kolom yang akan dibaca. Parameter type menentukan tipe data dari data sumber. Parameter index menentukan nomor kolom dalam file teks (dimulai dari 0). Parameter value menentukan bahwa kolom saat ini adalah konstan. Alih-alih membaca data dari file sumber, sistem menghasilkan kolom berdasarkan nilai yang ditentukan. Secara default, Anda dapat membaca semua data sebagai tipe String. Contoh konfigurasi:
Anda juga dapat menentukan informasi kolom. Contoh konfigurasi:
Catatan Untuk informasi column yang Anda tentukan, type wajib diisi, dan Anda harus menentukan salah satu antara index atau value. |
Ya |
Semua data dibaca sebagai tipe STRING. |
|
fieldDelimiter |
Pemisah kolom untuk membaca data. Catatan Saat reader Amazon S3 membaca data, Anda harus menentukan pemisah kolom. Jika tidak ada pemisah yang ditentukan, pemisah default (,) digunakan. Pemisah default (,) juga digunakan di Antarmuka tanpa kode. Jika pemisah tidak terlihat, tentukan encoding Unicode. Misalnya, \u001b atau \u007c. |
Ya |
Nilai default: (,) |
|
compress |
Jenis kompresi. Secara default, parameter ini dibiarkan kosong, yang berarti tidak ada kompresi yang diterapkan. Jenis kompresi yang didukung adalah gzip, bzip2, dan zip. |
Tidak |
Tanpa kompresi |
|
encoding |
Encoding file yang akan dibaca. |
Tidak |
utf-8 |
|
nullFormat |
String standar dalam file teks tidak dapat merepresentasikan null (null pointer). Sistem sinkronisasi data menggunakan nullFormat untuk menentukan string mana yang dapat merepresentasikan null. Misalnya, jika Anda mengatur |
Tidak |
N/A |
|
skipHeader |
Untuk file CSV, gunakan skipHeader untuk menentukan apakah baris header dibaca.
Catatan skipHeader tidak didukung untuk file terkompresi. |
Tidak |
false |
|
csvReaderConfig |
Konfigurasi untuk membaca file CSV. Parameter ini bertipe Map. CsvReader digunakan untuk membaca file CSV dan menyediakan berbagai konfigurasi. Jika Anda tidak mengonfigurasi parameter ini, nilai default akan digunakan. |
Tidak |
N/A |
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 error.
},
"speed": {
"throttle": true, // Menentukan apakah Pembatasan kecepatan diaktifkan. Nilai false berarti Pembatasan kecepatan dinonaktifkan dan parameter mbps tidak berlaku. Nilai true berarti Pembatasan kecepatan diaktifkan.
"concurrent": 1 // Konkurensi.
"mbps": "12", // Laju pembatasan. 1 mbps = 1 MB/s.
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}Parameter skrip Writer
|
Parameter |
Deskripsi |
Wajib |
Nilai default |
|
datasource |
Nama sumber data. Mode skrip memungkinkan Anda menambahkan sumber data. Nilai parameter ini harus sama dengan nama sumber data yang Anda tambahkan. |
Ya |
N/A |
|
object |
Nama objek tujuan. |
Ya |
N/A |
|
fileFormat |
Format file berikut didukung:
|
Ya |
text |
|
writeMode |
|
Ya |
append |
|
fieldDelimiter |
Pemisah kolom untuk menulis data. |
Tidak |
Nilai default: (,) |
|
lineDelimiter |
Pemisah baris untuk menulis data. |
Tidak |
Nilai default: (\n) |
|
compress |
Jenis kompresi. Secara default, parameter ini dibiarkan kosong, yang berarti tidak ada kompresi yang diterapkan.
|
Tidak |
Tanpa kompresi |
|
nullFormat |
String standar dalam file teks tidak dapat merepresentasikan null (null pointer). Sistem sinkronisasi data menggunakan |
Tidak |
N/A |
|
header |
Header yang akan ditulis. Contoh: |
Tidak |
N/A |
|
writeSingleObject |
true: Menulis data ke satu file. false: Menulis data ke beberapa file. Catatan
|
Tidak |
false |
|
encoding |
Encoding file yang akan ditulis. |
Tidak |
utf-8 |
|
column |
Konfigurasi kolom untuk menulis data.
|
Ya |
N/A |