All Products
Search
Document Center

DataWorks:Sumber data MaxCompute

Last Updated:Apr 23, 2026

Sumber data MaxCompute adalah pusat data yang menyediakan saluran dua arah untuk membaca dari dan menulis ke MaxCompute.

Fitur

Catatan

Sumber data MaxCompute di DataWorks menggunakan tunnel endpoint untuk mengakses layanan tunnel dari proyek MaxCompute, memungkinkan Anda melakukan sinkronisasi data dengan mengunggah atau mengunduh data dari proyek tersebut melalui operasi DownloadTable.

Untuk sumber data MaxCompute yang dibuat setelah 11 Desember 2023, jika layanan DataWorks dan proyek MaxCompute target berada di wilayah yang berbeda, Anda tidak dapat langsung melakukan sinkronisasi data menggunakan tunnel endpoint. Anda harus terlebih dahulu membeli instans Cloud Enterprise Network (CEN) untuk membuat koneksi jaringan. Sinkronisasi data lintas wilayah hanya dimungkinkan setelah koneksi tersebut dibuat. Untuk informasi lebih lanjut tentang CEN dan operasinya, lihat Cloud Enterprise Network (CEN).

Baca batch

  • MaxCompute Reader mendukung pembacaan data dari tabel partisi dan tabel non-partisi, tetapi tidak mendukung pembacaan dari virtual view atau tabel eksternal.

  • Saat melakukan pembacaan batch dari tabel partisi MaxCompute, Anda tidak dapat langsung mengonfigurasi pemetaan bidang untuk kolom kunci partisi. Untuk menyinkronkan nilai kunci partisi, tambahkan bidang kustom, masukkan nama partisi secara manual, lalu konfigurasi pemetaan bidang tersebut.

  • Anda dapat menentukan nilai partisi dengan menggunakan parameter penjadwalan untuk mengaktifkan penggantian otomatis, sehingga data dari partisi yang sesuai disinkronkan berdasarkan waktu penjadwalan.

    Sebagai contoh, tabel partisi bernama t0 memiliki kolom id dan name. Kunci partisi level-1 adalah pt dan kunci partisi level-2 adalah ds. Untuk membaca data dari partisi dengan pt=<tanggal bisnis> dan ds=hangzhou, tentukan nilai partisi sebagai pt=${parameter penjadwalan} dan ds=hangzhou saat mengonfigurasi sumber. Kemudian, konfigurasikan pemetaan kolom untuk kolom id dan name.

  • Anda dapat menulis kolom kunci partisi ke tabel tujuan dengan menambahkannya sebagai bidang kustom.

  • MaxCompute Reader mendukung penyaringan data dengan menggunakan klausa WHERE.

Tulis batch

  • MaxCompute Writer tidak mendukung tipe data VARCHAR jika data sumber berisi nilai null.

  • Jika tabel tujuan adalah DeltaTable, buka Advanced Configuration dan atur Visible After Synchronization ke Yes. Jika tidak, tugas akan menghasilkan error jika konkurensi lebih besar dari 1.

  • Sinkronisasi data dari sumber ke tabel eksternal MaxCompute tidak didukung.

  • Jika suatu kolom di tabel tujuan tidak dipetakan ke kolom sumber, Data Integration akan mengatur nilainya menjadi null setelah sinkronisasi, meskipun nilai default telah ditentukan saat tabel dibuat.

Tulis real-time

  • Tugas sinkronisasi real-time mendukung serverless resource groups.

  • Tugas sinkronisasi real-time tidak mendukung sinkronisasi tabel tanpa primary key.

  • Sinkronisasi data dari sumber ke tabel eksternal MaxCompute tidak didukung.

  • Saat melakukan sinkronisasi real-time ke sumber data MaxCompute default (biasanya odps_first), pasangan AccessKey temporary digunakan secara default. Pasangan AccessKey temporary tersebut kedaluwarsa setelah 7 hari, sehingga menyebabkan tugas gagal. Platform secara otomatis me-restart tugas ketika mendeteksi bahwa kegagalan disebabkan oleh kedaluwarsa pasangan AccessKey temporary. Jika Anda telah mengonfigurasi aturan pemantauan untuk jenis peringatan ini, Anda akan menerima pemberitahuan peringatan.

  • Untuk sinkronisasi real-time satu klik ke tugas MaxCompute, hanya data historis lengkap yang dapat dikueri pada hari konfigurasi. Data inkremental hanya dapat dikueri di MaxCompute setelah proses merge selesai pada hari berikutnya.

  • Tugas sinkronisasi real-time satu klik ke MaxCompute menghasilkan partisi lengkap setiap hari. Untuk mencegah penggunaan penyimpanan berlebihan, tabel MaxCompute yang dibuat secara otomatis oleh tugas ini memiliki siklus hidup default selama 30 hari. Jika hal ini tidak sesuai dengan kebutuhan bisnis Anda, Anda dapat mengklik nama tabel MaxCompute yang sesuai saat mengonfigurasi tugas sinkronisasi untuk mengubah siklus hidupnya.

  • Data Integration menggunakan saluran data sinkronisasi engine MaxCompute untuk mengunggah dan mengunduh data. Untuk detail SLA saluran data sinkronisasi, lihat MaxCompute Tunnel overview. Evaluasi pilihan teknologi sinkronisasi data Anda berdasarkan SLA saluran data sinkronisasi engine MaxCompute.

  • Untuk sinkronisasi real-time satu klik ke MaxCompute dalam mode instans, grup sumber daya eksklusif untuk Data Integration harus memiliki spesifikasi minimum 8C16G.

  • Hanya sumber data MaxCompute kustom di wilayah yang sama dengan ruang kerja saat ini yang didukung. Proyek MaxCompute lintas wilayah mungkin lolos uji konektivitas, tetapi selama eksekusi tugas, error yang menunjukkan bahwa engine tidak ada akan dilaporkan pada fase pembuatan tabel di MaxCompute.

  • Saat MaxCompute digunakan sebagai tujuan untuk sinkronisasi basis data lengkap, jika tipe tabel adalah tabel reguler, hanya sinkronisasi real-time satu klik ke MaxCompute dan mode streaming inkremental untuk sinkronisasi real-time basis data lengkap yang didukung. Jika tipe tabel adalah Delta Table, baik sinkronisasi real-time basis data lengkap maupun sinkronisasi real-time satu klik ke MaxCompute didukung.

    Catatan

    Saat Anda menggunakan sumber data MaxCompute kustom, proyek DataWorks tetap harus dikaitkan dengan engine MaxCompute. Jika tidak, Anda tidak dapat membuat node SQL MaxCompute, sehingga menyebabkan kegagalan pembuatan node done-flag untuk sinkronisasi lengkap.

Tipe kolom yang didukung

Tipe data MaxCompute 1.0, tipe data 2.0, dan tipe data kompatibel Hive didukung. Bagian berikut menjelaskan tipe kolom yang didukung oleh setiap edisi tipe data.

Kolom yang didukung oleh tipe data 1.0

Tipe kolom

Batch Read

Tulis batch

Penulisan real-time

BIGINT

Didukung

Didukung

Didukung

DOUBLE

Didukung

Didukung

Didukung

DECIMAL

Didukung

Didukung

Didukung

STRING

Didukung

Didukung

Didukung

DATETIME

Didukung

Didukung

Didukung

BOOLEAN

Didukung

Didukung

Didukung

ARRAY

Didukung

Didukung

Didukung

MAP

Didukung

Didukung

Didukung

STRUCT

Didukung

Didukung

Didukung

Kolom yang didukung oleh tipe data 2.0 dan tipe data kompatibel Hive

Tipe kolom

Baca batch (MaxCompute Reader)

Tulis batch (MaxCompute Writer)

Tulis real-time

TINYINT

Didukung

Didukung

Didukung

SMALLINT

Didukung

Didukung

Didukung

INT

Didukung

Didukung

Didukung

BIGINT

Didukung

Didukung

Didukung

BINARY

Didukung

Didukung

Didukung

FLOAT

Didukung

Didukung

Didukung

DOUBLE

Didukung

Didukung

Didukung

DECIMAL(pecision,scale)

Didukung

Didukung

Didukung

VARCHAR(n)

Didukung

Didukung

Didukung

CHAR(n)

Tidak didukung

Didukung

Didukung

STRING

Didukung

Didukung

Didukung

DATE

Didukung

Didukung

Didukung

DATETIME

Didukung

Didukung

Didukung

TIMESTAMP

Didukung

Didukung

Didukung

BOOLEAN

Didukung

Didukung

Didukung

ARRAY

Didukung

Didukung

Didukung

MAP

Didukung

Didukung

Didukung

STRUCT

Didukung

Didukung

Didukung

Konversi tipe data

Tabel berikut menjelaskan konversi tipe data yang didukung oleh MaxCompute Reader.

Kategori tipe

Tipe Data Integration

Tipe data database

Integer

LONG

BIGINT, INT, TINYINT, dan SMALLINT

Boolean

BOOLEAN

BOOLEAN

Tanggal dan waktu

DATE

DATETIME, TIMESTAMP, dan DATE

Bilangan pecahan

DOUBLE

FLOAT, DOUBLE, dan DECIMAL

Biner

BYTES

BINARY

Kompleks

STRING

ARRAY, MAP, dan STRUCT

Penting

Jika konversi data gagal atau data gagal ditulis ke sumber data tujuan, data tersebut dianggap sebagai dirty data. Anda dapat menggabungkan hal ini dengan ambang batas dirty data.

Persiapan sebelum sinkronisasi data

Sebelum membaca data dari atau menulis data ke tabel MaxCompute, Anda dapat mengaktifkan properti terkait sesuai kebutuhan.

Koneksikan ke MaxCompute dan aktifkan pengaturan tingkat proyek

  • Masuk ke klien MaxCompute. Untuk informasi lebih lanjut, lihat Klien MaxCompute.

  • Aktifkan pengaturan tingkat proyek MaxCompute: Pastikan Anda memiliki izin yang diperlukan. Anda dapat menggunakan akun Project Owner untuk melakukan operasi terkait. Untuk informasi lebih lanjut tentang izin MaxCompute, lihat Izin MaxCompute.

Aktifkan properti ACID

Anda dapat menggunakan akun Project Owner untuk menjalankan perintah berikut pada klien guna mengaktifkan properti ACID. Untuk informasi lebih lanjut tentang semantik ACID di MaxCompute, lihat Semantik ACID.

setproject odps.sql.acid.table.enable=true;

(Opsional) Aktifkan tipe data 2.0

Jika Anda perlu menggunakan tipe TIMESTAMP dalam tipe data MaxCompute 2.0, Anda dapat menggunakan akun Project Owner untuk menjalankan perintah berikut pada klien guna mengaktifkan tipe data 2.0.

setproject odps.sql.type.system.odps2=true;

(Opsional) Berikan akses ke akun

Saat Anda mengaitkan sumber daya komputasi MaxCompute dengan ruang kerja, sumber data MaxCompute dibuat secara default di DataWorks. Anda dapat menggunakan sumber data ini untuk sinkronisasi data di ruang kerja saat ini. Jika Anda ingin menyinkronkan data dari sumber data MaxCompute ini di ruang kerja lain, pastikan akun akses yang ditentukan untuk sumber data di ruang kerja lain memiliki izin yang diperlukan untuk mengakses proyek MaxCompute. Untuk otorisasi lintas akun, lihat Otorisasi lintas akun.

Buat sumber data MaxCompute

Sebelum mengembangkan tugas sinkronisasi data, Anda harus membuat proyek MaxCompute sebagai sumber data MaxCompute di DataWorks. Untuk informasi lebih lanjut, lihat Buat sumber data MaxCompute.

Catatan

  • Ruang kerja dalam mode standar mendukung isolasi sumber data. Anda dapat menambahkan dan mengisolasi sumber data secara terpisah untuk lingkungan pengembangan dan lingkungan produksi guna melindungi data Anda. Untuk informasi lebih lanjut, lihat Konfigurasi isolasi sumber data.

  • Jika sumber data MaxCompute bernama odps_first di ruang kerja tidak dibuat secara manual di halaman sumber data, maka sumber data tersebut adalah sumber data yang dibuat secara otomatis untuk engine MaxCompute pertama yang dikaitkan dengan ruang kerja sebelum peningkatan sumber data. Saat Anda melakukan sinkronisasi data menggunakan sumber data ini, data dibaca dari atau ditulis ke proyek engine MaxCompute yang sesuai.

    Anda dapat melihat nama proyek MaxCompute yang digunakan oleh sumber data di halaman konfigurasi sumber data untuk memastikan proyek MaxCompute mana yang akhirnya digunakan untuk membaca atau menulis data. Untuk informasi lebih lanjut, lihat Lihat detail sumber data.

Kembangkan tugas sinkronisasi data

Untuk informasi tentang titik masuk dan prosedur konfigurasi tugas sinkronisasi, lihat panduan konfigurasi berikut.

Konfigurasi tugas sinkronisasi batch tabel tunggal

Konfigurasi tugas sinkronisasi real-time tabel tunggal

Untuk prosedurnya, lihat Konfigurasi tugas sinkronisasi real-time tabel tunggal.

Konfigurasi tugas sinkronisasi basis data lengkap

Untuk prosedurnya, lihat Sinkronisasi data dari basis data lengkap dalam mode batch, Sinkronisasi data dari basis data lengkap dalam mode real-time, dan Sinkronisasi real-time satu klik ke MaxCompute.

FAQ

Untuk pertanyaan umum lainnya tentang Data Integration, lihat FAQ Data Integration.

Lampiran: Demo skrip dan deskripsi parameter

Konfigurasi tugas sinkronisasi batch menggunakan editor kode

Jika Anda ingin mengonfigurasi tugas sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip berdasarkan persyaratan format skrip terpadu. Untuk informasi lebih lanjut, lihat Gunakan Editor Kode. Informasi berikut menjelaskan parameter yang harus Anda konfigurasi untuk sumber data saat mengonfigurasi tugas sinkronisasi batch menggunakan editor kode.

Demo skrip Reader

Penting

Hapus komentar dari kode berikut sebelum menjalankannya.

{
    "type":"job",
    "version":"2.0",
    "steps":[
        {
            "stepType":"odps",//Nama plug-in.
            "parameter":{
                "partition":[],//Partisi dari mana data dibaca.
                "isCompress":false,//Menentukan apakah data dikompresi.
                "datasource":"",//Sumber data.
                "column":[//Informasi kolom tabel sumber.
                    "id"
                ],
                "where": "",//Konten klausa WHERE spesifik saat penyaringan data menggunakan WHERE diaktifkan.
                "enableWhere":false,//Menentukan apakah penyaringan data menggunakan WHERE diaktifkan.
                "table":""//Nama tabel.
            },
            "name":"Reader",
            "category":"reader"
        },
        { 
            "stepType":"stream",
            "parameter":{
            },
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0"//Jumlah error.
        },
        "speed":{
            "throttle":true,//Jika throttle diatur ke false, parameter mbps tidak berlaku dan pembatasan kecepatan dinonaktifkan. Jika throttle diatur ke true, pembatasan kecepatan diaktifkan.
            "concurrent":1, //Konkurensi.
            "mbps":"12"//Laju pembatasan. 1 mbps = 1 MB/s.
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

Jika Anda ingin menentukan Tunnel Endpoint untuk MaxCompute, Anda dapat mengonfigurasi sumber data secara manual dalam mode skrip. Ganti "datasource":"", pada contoh di atas dengan parameter spesifik sumber data. Contoh:

"accessId":"*******************",
"accessKey":"*******************",
"endpoint":"http://service.eu-central-1.maxcompute.aliyun-inc.com/api",
"odpsServer":"http://service.eu-central-1.maxcompute.aliyun-inc.com/api", 
"tunnelServer":"http://dt.eu-central-1.maxcompute.aliyun.com", 
"project":"*****", 

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 telah Anda tambahkan.

Ya

Tidak ada

table

Nama tabel dari mana data dibaca. Nama tidak peka huruf besar/kecil.

Ya

Tidak ada

partition

Informasi partisi data yang akan dibaca.

  • Konfigurasi partisi ODPS mendukung wildcard shell Linux. * merepresentasikan nol atau lebih karakter, dan ? merepresentasikan satu karakter apa pun.

  • Secara default, partisi yang akan dibaca harus ada. Jika partisi tidak ada, tugas akan menghasilkan error. Jika Anda ingin tugas berhasil meskipun partisi tidak ada, beralihlah ke mode skrip dan tambahkan konfigurasi "successOnNoPartition": true ke parameter ODPS.

Sebagai contoh, tabel partisi test memiliki empat partisi berikut: pt=1,ds=hangzhou, pt=1,ds=shanghai, pt=2,ds=hangzhou, dan pt=2,ds=beijing. Anda dapat mengonfigurasi pengaturan berikut untuk membaca data dari partisi yang berbeda:

  • Untuk membaca data dari partisi pt=1,ds=hangzhou, atur informasi partisi menjadi "partition":"pt=1,ds=hangzhou".

  • Untuk membaca data dari semua partisi di bawah pt=1, atur informasi partisi menjadi "partition":"pt=1,ds=*".

  • Untuk membaca data dari semua partisi tabel test, atur informasi partisi menjadi "partition":"pt=*,ds=*".

Selain itu, Anda dapat menetapkan kondisi untuk mengambil data partisi sesuai kebutuhan:

  • Untuk menentukan partisi maksimum, tambahkan konfigurasi /*query*/ ds=(select MAX(ds) from DataXODPSReaderPPR).

  • Untuk menyaring berdasarkan kondisi, tambahkan kondisi yang sesuai /*query*/ pt+expression. Misalnya, /*query*/ pt>=20170101 and pt<20170110 mengambil semua data dari partisi pt pada atau setelah 20170101 dan sebelum 20170110.

Catatan

/*query*/ menunjukkan bahwa konten yang mengikutinya diidentifikasi sebagai kondisi WHERE.

Wajib jika tabel adalah tabel partisi. Tidak boleh ditentukan jika tabel adalah tabel non-partisi.

Tidak ada

column

Informasi kolom tabel sumber MaxCompute. Sebagai contoh, jika tabel test memiliki kolom id, name, dan age:

  • Untuk membaca kolom id, name, dan age secara berurutan, konfigurasikan "column":["id","name","age"] atau "column":["*"].

    Catatan

    Kami tidak menyarankan Anda mengatur kolom ekstraksi ke (*), karena hal ini membaca setiap kolom tabel secara berurutan. Jika urutan kolom, tipe data, atau jumlah kolom dalam tabel berubah, ada risiko kolom tabel sumber dan kolom tabel tujuan tidak dapat disejajarkan. Hal ini dapat menyebabkan tugas menghasilkan hasil yang salah atau gagal.

  • Untuk membaca kolom name dan id secara berurutan, konfigurasikan "column":["name","id"].

  • Untuk menambahkan bidang konstan ke kolom sumber yang diekstraksi (untuk mencocokkan urutan kolom tabel tujuan), misalnya, jika Anda ingin setiap baris data yang diekstraksi berisi nilai kolom age, nilai kolom name, nilai tanggal konstan 1988-08-08 08:08:08, dan nilai kolom id, konfigurasikan "column":["age","name","'1988-08-08 08:08:08'","id"]. Lampirkan nilai kolom konstan dengan tanda kutip tunggal (').

    Secara internal, konstan diidentifikasi dengan memeriksa apakah setiap kolom yang dikonfigurasi diapit oleh ' di kedua ujungnya. Jika ya, maka dianggap sebagai bidang konstan, dan nilai aktualnya adalah konten setelah menghapus tanda '.

    Catatan
    • Saat mode penyaringan data digunakan (enableWhere=true dan where tidak kosong), fungsi MaxCompute didukung dalam column. Saat mode non-penyaringan data digunakan, fungsi MaxCompute tidak didukung.

    • Parameter column harus secara eksplisit menentukan set kolom yang akan disinkronkan dan tidak boleh dibiarkan kosong.

Ya

Tidak ada

enableWhere

Menentukan apakah akan menggunakan klausa WHERE untuk penyaringan data.

Tidak

false

where

Konten klausa WHERE spesifik saat penyaringan data menggunakan WHERE diaktifkan.

Tidak

Tidak ada

Demo skrip Writer

Berikut adalah contoh konfigurasi skrip.

{
    "type":"job",
    "version":"2.0",//Nomor versi.
    "steps":[
        {
            "stepType":"stream",
            "parameter":{},
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"odps",//Nama plug-in.
            "parameter":{
                "partition":"",//Informasi partisi.
                "truncate":true,//Aturan pembersihan.
                "isCompress":false,//Menentukan apakah data dikompresi.
                "datasource":"odps_first",//Nama sumber data.
            "column": [//Nama kolom sumber.
                "id",
                "name",
                "age",
                "sex",
                "salary",
                "interest"
                ],
                "table":""//Nama tabel.
            },
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0"//Jumlah error, yang menentukan jumlah maksimum catatan dirty data yang dapat ditoleransi.
        },
        "speed":{
            "throttle":true,//Jika throttle diatur ke false, parameter mbps tidak berlaku dan pembatasan kecepatan dinonaktifkan. Jika throttle diatur ke true, pembatasan kecepatan diaktifkan.
            "concurrent":1, //Konkurensi.
            "mbps":"12"//Laju pembatasan. 1 mbps = 1 MB/s.
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

Jika Anda ingin menentukan Tunnel Endpoint untuk MaxCompute, Anda dapat mengonfigurasi sumber data secara manual dalam mode skrip. Ganti "datasource":"", pada contoh di atas dengan parameter spesifik sumber data. Contoh:

"accessId":"<yourAccessKeyId>",
 "accessKey":"<yourAccessKeySecret>",
 "endpoint":"http://service.eu-central-1.maxcompute.aliyun-inc.com/api",
 "odpsServer":"http://service.eu-central-1.maxcompute.aliyun-inc.com/api", 
"tunnelServer":"http://dt.eu-central-1.maxcompute.aliyun.com", 
"project":"**********", 

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 telah Anda tambahkan.

Ya

Tidak ada

table

Nama tabel tempat data ditulis. Nama tidak peka huruf besar/kecil. Anda tidak dapat menentukan beberapa tabel.

Ya

Tidak ada

partition

Informasi partisi tabel tempat data ditulis. Anda harus menentukan partisi hingga level terakhir. Misalnya, untuk menulis data ke tabel dengan tiga level partisi, Anda harus menentukan partisi level terakhir, seperti pt=20150101, type=1, biz=2:

  • Untuk tabel non-partisi, jangan tentukan parameter ini. Artinya data langsung diimpor ke tabel tujuan.

  • MaxCompute Writer tidak mendukung routing data untuk penulisan. Untuk tabel partisi, pastikan data ditulis ke partisi level terakhir.

Wajib jika tabel adalah tabel partisi. Tidak boleh ditentukan jika tabel adalah tabel non-partisi.

Tidak ada

column

Daftar kolom yang akan diimpor. Untuk mengimpor semua kolom, konfigurasikan "column": ["*"]. Untuk memasukkan data ke kolom MaxCompute tertentu, tentukan kolom tersebut. Misalnya, "column": ["id","name"]:

  • MaxCompute Writer mendukung penyaringan kolom dan pengurutan ulang kolom. Misalnya, jika tabel memiliki tiga kolom a, b, dan c, dan Anda hanya ingin menyinkronkan kolom c dan b, konfigurasikan "column": ["c","b"]. Selama impor, kolom a secara otomatis diatur ke null.

  • Parameter column harus secara eksplisit menentukan set kolom yang akan disinkronkan dan tidak boleh dibiarkan kosong.

Ya

Tidak ada

truncate

Dengan mengatur "truncate": "true", Anda dapat memastikan idempotensi penulisan. Saat terjadi kegagalan penulisan dan tugas dijalankan ulang, MaxCompute Writer membersihkan data yang sebelumnya ditulis dan mengimpor data baru. Hal ini memastikan konsistensi data setelah setiap pengulangan.

Karena pembersihan data menggunakan MaxCompute SQL, SQL tidak dapat menjamin atomicity. Oleh karena itu, opsi truncate bukan operasi atomik. Saat beberapa tugas membersihkan partisi dari Table atau Partition yang sama secara bersamaan, masalah pengurutan konkurensi dapat terjadi.

Untuk menghindari masalah ini, kami menyarankan agar Anda tidak menjalankan beberapa job yang melakukan operasi DDL pada partisi yang sama secara bersamaan, atau membuat partisi sebelum memulai beberapa job konkuren.

Ya

Tidak ada

emptyAsNull

Menentukan apakah string kosong akan dikonversi menjadi NULL sebelum penulisan.

Tidak

false

consistencyCommit

Terlihat setelah sinkronisasi.

  • Jika diatur ke Yes (true): Data menjadi terlihat sekaligus hanya setelah tugas berhasil disinkronkan. Namun, jika volume data melebihi 1 TB, tugas sinkronisasi gagal karena MaxCompute hanya dapat menyinkronkan maksimal 300.000 blok.

  • Jika diatur ke No (false): Sebagian data yang telah disinkronkan ke MaxCompute dapat dikueri sebelum tugas sinkronisasi selesai. Namun, bagian yang terlihat tidak dapat diprediksi. Konsumen downstream dari tabel ini harus memperhatikan kelengkapan data.

Tidak

false