DataWorks mendukung FTP sebagai sumber data untuk membaca dan menulis data ke server FTP.
Batasan
FTP Reader membaca data dari file FTP remote dan mengonversinya ke dalam protokol Data Integration. File FTP remote disimpan sebagai data tidak terstruktur.
|
Didukung |
Tidak didukung |
|
|
FTP Writer mengonversi data berdasarkan protokol Data Integration dan menulis data ke file pada server FTP.
|
Didukung |
Tidak didukung |
|
|
Tipe data yang didukung
File FTP remote tidak memiliki tipe data native. Sebaliknya, tipe data didefinisikan oleh FTP Reader dalam Data Integration.
|
Tipe Data Integration |
Tipe FTP |
|
LONG |
LONG |
|
DOUBLE |
DOUBLE |
|
STRING |
STRING |
|
BOOLEAN |
BOOLEAN |
|
DATE |
DATE |
Tambahkan sumber data
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 deskripsi parameter di Konsol DataWorks untuk memahami makna parameter saat menambahkan sumber data.
Kembangkan task sinkronisasi data
Untuk informasi tentang titik masuk dan prosedur konfigurasi task sinkronisasi, lihat panduan konfigurasi berikut.
Sinkronisasi batch tabel tunggal
-
Untuk informasi lebih lanjut tentang prosedur konfigurasi, lihat Configure a batch synchronization task using the Codeless UI dan Configure a batch synchronization task using script mode.
-
Untuk semua parameter dan contoh skrip konfigurasi task batch dalam mode skrip, lihat Appendix: Script sample and parameter description.
Lampiran: Contoh skrip dan parameter
Konfigurasikan task sinkronisasi batch menggunakan editor kode
Jika ingin mengonfigurasi task sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip berdasarkan persyaratan format skrip terpadu. Untuk informasi lebih lanjut, lihat Script mode configuration. Informasi berikut menjelaskan parameter yang harus dikonfigurasi untuk sumber data saat Anda mengonfigurasi task sinkronisasi batch menggunakan editor kode.
Contoh skrip Reader
{
"type":"job",
"version":"2.0",// Nomor versi.
"steps":[
{
"stepType":"ftp",// Nama plug-in.
"parameter":{
"path":[],// Jalur file.
"nullFormat":"",// Nilai null.
"compress":"",// Format kompresi.
"datasource":"",// Sumber data.
"column":[// Kolom.
{
"index":0,// ID.
"type":""// Tipe data.
}
],
"skipHeader":"",// Menentukan apakah header disertakan.
"fieldDelimiter":",",// Pemisah kolom.
"encoding":"UTF-8",// Format encoding.
"fileFormat":"csv"// Format file.
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"// Jumlah maksimum catatan data kotor yang diizinkan.
},
"speed":{
"throttle":true,// Jika false, parameter mbps diabaikan dan tidak ada pembatasan kecepatan. Jika true, pembatasan kecepatan diterapkan berdasarkan nilai mbps.
"concurrent":1, // Konkurensi job.
"mbps":"12"// Laju pembatasan kecepatan. 1 mbps = 1 MB/s.
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
Parameter skrip Reader
|
Parameter |
Deskripsi |
Wajib |
Default |
|
datasource |
Nama sumber data, yang harus sesuai dengan nama sumber data yang Anda konfigurasi di DataWorks. |
Ya |
Tidak ada |
|
path |
Jalur file sumber pada sistem file FTP remote. Anda harus menentukan jalur lengkap file sumber, termasuk ekstensi nama file. Anda dapat menentukan beberapa jalur.
Catatan
|
Ya |
Tidak ada |
|
column |
Daftar kolom yang akan dibaca. Secara default, Anda dapat membaca semua data sebagai tipe STRING menggunakan konfigurasi
Untuk column yang ditentukan, Anda harus menentukan |
Ya |
Tidak ada |
|
fieldDelimiter |
Pemisah yang digunakan untuk memisahkan kolom dalam file sumber. Catatan
Anda harus menentukan pemisah agar FTP Reader dapat membaca data. Jika Anda tidak menentukan pemisah, koma (,) default digunakan. Di UI, koma (,) juga ditentukan secara default. |
Ya |
, |
|
skipHeader |
File mirip CSV mungkin memiliki header. Anda dapat melewatkan header tersebut. Secara default, header tidak dilewati. Parameter ini tidak didukung untuk file terkompresi. |
Tidak |
false |
|
encoding |
Encoding file sumber. |
Tidak |
utf-8 |
|
nullFormat |
File teks tidak dapat menggunakan string standar untuk nilai null (null pointer). Gunakan
|
Tidak |
Tidak ada |
|
markDoneFileName |
Nama file mark-done. Sebelum task sinkronisasi data dimulai, sistem memeriksa apakah file mark-done ada. Jika file tidak ada, sistem menunggu periode waktu tertentu lalu memeriksa lagi. Task baru dimulai setelah file terdeteksi. |
Tidak |
Tidak ada |
|
maxRetryTime |
Jumlah percobaan ulang untuk pemeriksaan file mark-done. Nilai default adalah 60. Interval antar percobaan ulang adalah 1 menit, sehingga total waktu tunggu menjadi 60 menit. |
Tidak |
60 |
|
csvReaderConfig |
Parameter yang digunakan untuk membaca file CSV. Nilainya harus bertipe Map. File CSV dibaca oleh CsvReader. Beberapa konfigurasi tersedia. Jika Anda tidak mengonfigurasi parameter ini, nilai default digunakan. |
Tidak |
Tidak ada |
|
fileFormat |
Format file sumber. Secara default, file dibaca sebagai file CSV dan diproses sebagai tabel dua dimensi logis. Jika Anda mengatur parameter ini ke Parameter ini biasanya digunakan untuk mencerminkan struktur direktori antar sistem penyimpanan seperti FTP dan OSS. Dalam kebanyakan kasus, Anda tidak perlu mengonfigurasi parameter ini. |
Tidak |
Tidak ada |
Contoh skrip Writer
{
"type":"job",
"version":"2.0",// Nomor versi.
"steps":[
{
"stepType":"stream",
"parameter":{},
"name":"Reader",
"category":"reader"
},
{
"stepType":"ftp",// Nama plug-in.
"parameter":{
"path":"",// Jalur file.
"fileName":"",// Nama file.
"nullFormat":"null",// Nilai null.
"dateFormat":"yyyy-MM-dd HH:mm:ss",// Format tanggal.
"datasource":"",// Sumber data.
"writeMode":"",// Mode penulisan.
"fieldDelimiter":",",// Pemisah kolom.
"encoding":"",// Format encoding.
"fileFormat":""// Format file.
},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"// Jumlah maksimum catatan data kotor yang diizinkan.
},
"speed":{
"throttle":true,// Jika false, parameter mbps diabaikan dan tidak ada pembatasan kecepatan. Jika true, pembatasan kecepatan diterapkan berdasarkan nilai mbps.
"concurrent":1, // Konkurensi job.
"mbps":"12"// Laju pembatasan kecepatan. 1 mbps = 1 MB/s.
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
Parameter skrip Writer
|
Parameter |
Deskripsi |
Wajib |
Default |
|
datasource |
Nama sumber data, yang harus sesuai dengan nama sumber data yang Anda konfigurasi di DataWorks. |
Ya |
Tidak ada |
|
timeout |
Periode timeout untuk koneksi ke server FTP. Satuan: milidetik. |
Tidak |
60.000 (1 menit) |
|
path |
Jalur tujuan pada sistem file FTP. FTP Writer menulis beberapa file ke direktori yang ditentukan oleh parameter ini. |
Ya |
Tidak ada |
|
fileName |
Nama file tempat FTP Writer menulis data. Akhiran acak ditambahkan ke nama file ini untuk membuat nama file aktual untuk setiap thread. |
Ya |
Tidak ada |
|
singleFileOutput |
Secara default, FTP Writer menambahkan akhiran acak ke |
Tidak |
false |
|
writeMode |
Mode untuk membersihkan data sebelum menulis.
|
Ya |
Tidak ada |
|
fieldDelimiter |
Pemisah yang digunakan untuk memisahkan kolom dalam file tujuan. |
Ya (hanya satu karakter) |
Tidak ada |
|
skipHeader |
File mirip CSV mungkin memiliki header yang perlu dilewati. Secara default, header tidak dilewati. File terkompresi tidak mendukung skipHeader. |
Tidak |
false |
|
compress |
Format kompresi yang didukung: gzip dan bzip2. |
Tidak |
Tidak ada kompresi |
|
encoding |
Encoding file tujuan. |
Tidak |
utf-8 |
|
nullFormat |
File teks tidak dapat menggunakan string standar untuk nilai null (null pointer). Gunakan Sebagai contoh, jika Anda mengonfigurasi |
Tidak |
Tidak ada |
|
dateFormat |
Format untuk mengubah data bertipe DATE menjadi file. Contoh: "dateFormat":"yyyy-MM-dd". |
Tidak |
Tidak ada |
|
fileFormat |
Format file tujuan. Nilai yang valid: CSV dan TEXT. CSV adalah format ketat. Jika data yang akan ditulis berisi pemisah kolom, data tersebut di-escape dengan tanda kutip ganda (") berdasarkan aturan escape CSV. TEXT adalah format sederhana yang menggunakan pemisah kolom untuk memisahkan data. Pemisah dalam data tidak di-escape. |
Tidak |
TEXT |
|
header |
Header yang ditulis ke file teks. Dalam mode skrip, Anda dapat mengonfigurasi informasi header. Misalnya, Anda dapat mengatur parameter ini ke "header":["id","name","age"]. Kemudian, |
Tidak |
Tidak ada |
|
markDoneFileName |
|
Tidak |
Tidak ada |