Sumber data TOS memungkinkan Anda membaca file dari Tinder Object Storage (TOS). Anda dapat menggunakan sumber data ini untuk mengambil file yang disimpan di TOS, menguraikannya, dan menyinkronkan data tersebut ke sumber data tujuan apa pun. Topik ini menjelaskan kemampuan sinkronisasi data TOS di DataWorks.
Batasan
Sumber data TOS di DataWorks mendukung tipe bidang berikut.
Tipe data | Deskripsi |
STRING | Teks. |
LONG | Bilangan bulat. |
BYTES | Array byte. Teks yang dibaca dikonversi menjadi array byte dengan encoding |
BOOL | Boolean. |
DOUBLE | Bilangan titik mengambang. |
DATE | Tanggal dan waktu. Format berikut didukung:
|
Buat sumber data TOS
Sebelum mengembangkan task sinkronisasi di DataWorks, Anda harus menambahkan sumber data yang diperlukan ke DataWorks dengan mengikuti petunjuk dalam Data source management. Anda dapat melihat infotips parameter di Konsol DataWorks untuk memahami arti parameter saat menambahkan sumber data.
Kembangkan task sinkronisasi data
Anda hanya dapat menggunakan sumber data TOS sebagai sumber dalam task sinkronisasi offline untuk tabel tunggal. Bagian berikut menjelaskan cara mengonfigurasi task sinkronisasi data tersebut.
Untuk informasi selengkapnya, lihat Configure a task in the codeless UI dan Configure a task in the code editor.
Untuk semua parameter dan contoh skrip editor kode, lihat Appendix: Script sample and parameter descriptions.
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 dengan persyaratan format skrip terpadu. Untuk informasi selengkapnya, lihat Configure a task in the code editor. Informasi berikut menjelaskan parameter yang harus Anda konfigurasikan untuk sumber data saat mengonfigurasi task sinkronisasi batch menggunakan editor kode.
Contoh skrip Reader
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "tos",
"parameter": {
"datasource": "",
"object": ["f/z/1.csv"],
"fileFormat": "csv",
"encoding": "utf8/gbk/...",
"fieldDelimiter": ",",
"useMultiCharDelimiter": true,
"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"
}
]
}
}Parameter skrip Reader
Parameter | Deskripsi | Wajib | Nilai default |
datasource | Nama sumber data. Harus sama dengan nama sumber data yang Anda tambahkan di editor kode. | Ya | Tidak ada |
fileFormat | Format file sumber. Format yang didukung: | Ya | Tidak ada |
object | Jalur file. Parameter ini mendukung karakter wildcard asterisk (*) dan array. Misalnya, untuk menyinkronkan file a/b/1.csv dan a/b/2.csv, Anda dapat mengatur parameter ini menjadi a/b/*.csv. | Ya | Tidak ada |
column | Bidang yang akan dibaca. Parameter type menentukan tipe data sumber. Parameter index menentukan nomor kolom dalam file teks, dimulai dari 0. Parameter value menentukan nilai konstan. Hal ini membuat kolom dengan nilai konstan alih-alih membaca data dari file sumber.
Catatan Untuk informasi column yang Anda tentukan, Anda harus menentukan parameter type dan salah satu dari parameter index atau value. | Ya | Semua kolom dibaca sebagai tipe |
fieldDelimiter | Pemisah bidang. Catatan
| Ya |
|
lineDelimiter | Pemisah baris. Catatan Parameter ini hanya berlaku ketika fileFormat diatur ke text. | Tidak | Tidak ada |
compress | Format kompresi file teks. Secara default, parameter ini dibiarkan kosong, yang berarti tidak ada kompresi. Format yang didukung: | Tidak |
|
encoding | Format encoding file. | Tidak |
|
nullFormat | String dalam file teks yang merepresentasikan pointer null. Anda dapat menggunakan nullFormat untuk menentukan string mana yang merepresentasikan null karena file teks tidak memiliki cara standar untuk mendefinisikan null. Misalnya:
| Tidak | Tidak ada |
skipHeader | Untuk file CSV, gunakan skipHeader untuk mengonfigurasi apakah header dilewati atau tidak.
Catatan Parameter skipHeader tidak didukung untuk file terkompresi. | Tidak |
|
parquetSchema | Skema file Parquet yang akan dibaca. Parameter ini hanya berlaku ketika fileFormat diatur ke parquet. Pastikan seluruh konfigurasi merupakan JSON yang valid setelah Anda menentukan parquetSchema.
| Tidak | Tidak ada |
csvReaderConfig | Konfigurasi parameter untuk membaca file CSV. Nilainya bertipe Map. csvReader digunakan untuk membaca file CSV. Jika Anda tidak mengonfigurasi parameter ini, nilai default akan digunakan. | Tidak | Tidak ada |