All Products
Search
Document Center

Tablestore:Kirim data ke OSS menggunakan konsol

Last Updated:Jul 08, 2026

Buat tugas pengiriman di konsol Tablestore untuk mengirimkan data dari tabel Tablestore ke bucket OSS.

Prasyarat

Aktifkan layanan OSS dan buat bucket di wilayah yang sama dengan instans Tablestore Anda. Untuk informasi selengkapnya, lihat Aktifkan OSS.

Catatan

Pengiriman data mendukung pengiriman data ke bucket OSS mana pun di wilayah yang sama dengan instans Tablestore. Untuk mengirimkan data ke gudang data lain, seperti MaxCompute, submit a ticket untuk mengajukan fitur ini.

Catatan penggunaan

  • Pengiriman data lake tersedia di wilayah berikut: Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Beijing), Tiongkok (Zhangjiakou), dan Tiongkok (Shenzhen).

  • Pengiriman data mengabaikan operasi Delete. Data yang Anda hapus di Tablestore tidak dihapus dari bucket OSS tujuan.

  • Inisialisasi tugas pengiriman baru dapat memakan waktu hingga satu menit.

  • Dengan laju penulisan yang stabil, latensi sinkronisasi biasanya dalam waktu 3 menit. Latensi P99 berada dalam waktu 10 menit.

    Catatan

    Latensi P99 adalah persentil ke-99 dari latensi, artinya 99% permintaan lebih cepat daripada nilai ini.

Buat tugas pengiriman

  1. Buka halaman Instance Management.

    1. Login ke Tablestore console.

    2. Di bilah navigasi atas, pilih kelompok sumber daya dan wilayah. Klik nama instans atau klik Manage Instance di kolom Actions.

  2. Di halaman Instance Management, klik Deliver Data to OSS.

  3. (Opsional) Buat peran terkait layanan AliyunServiceRoleForOTSDataDelivery.

    Saat pertama kali mengonfigurasi pengiriman data, Anda harus membuat peran terkait layanan Tablestore AliyunServiceRoleForOTSDataDelivery. Peran ini memberikan izin kepada Tablestore untuk menulis data ke bucket OSS. Untuk informasi selengkapnya, lihat Tablestore service-linked role.

    Catatan

    Untuk informasi selengkapnya tentang peran terkait layanan, lihat Service-linked roles.

    1. Di halaman Deliver Data to OSS, klik [Role for Delivery Service].

    2. Di kotak dialog Role Details, tinjau informasi tersebut lalu klik OK.

  4. Buat tugas pengiriman.

    1. Di halaman Deliver Data to OSS, klik Create Task.

    2. Di kotak dialog Create Task, konfigurasikan parameter-parameter berikut.

      Parameter

      Deskripsi

      Task Name

      Nama tugas pengiriman.

      Nama harus terdiri dari 3 hingga 16 karakter dan hanya boleh berisi huruf kecil (a–z), angka, dan tanda hubung (-). Nama harus dimulai dan diakhiri dengan huruf kecil atau angka.

      Destination Region

      Wilayah tempat instans Tablestore dan bucket OSS berada.

      Source Table

      Nama tabel Tablestore sumber.

      Destination Bucket

      Nama bucket OSS.

      Penting

      Bucket OSS harus sudah ada dan berada di wilayah yang sama dengan instans Tablestore.

      Destination Prefix

      Awalan direktori di bucket OSS untuk data Tablestore yang dikirimkan. Awalan tujuan mendukung lima variabel waktu: $yyyy, $MM, $dd, $HH, dan $mm. Untuk informasi selengkapnya, lihat time partitioning.

      • Dengan menyertakan variabel waktu dalam awalan tujuan, direktori OSS akan dibuat secara dinamis berdasarkan waktu penulisan data. Hal ini mempartisi data berdasarkan waktu dengan gaya penamaan partisi Hive.

      • Jika Anda tidak menyertakan variabel waktu dalam awalan tujuan, semua file akan dikirimkan ke awalan direktori statis yang ditentukan.

      Synchronization Mode

      Jenis tugas pengiriman. Nilai yang valid:

      • Incremental: Menyinkronkan hanya data inkremental.

      • Full: Melakukan sinkronisasi data satu kali untuk seluruh tabel.

      • Differential: Setelah sinkronisasi data penuh selesai, tugas akan menyinkronkan data inkremental.

      Untuk sinkronisasi data inkremental, Anda dapat melihat waktu pengiriman terbaru dan status pengiriman saat ini.

      Destination Object Format

      Data yang dikirimkan disimpan dalam format kolom Parquet. Secara default, pengiriman data menggunakan encoding PLAIN, yang mendukung data jenis apa pun.

      Schema Generation Type

      Anda dapat memilih bidang sumber mana yang akan ditulis ke file tujuan, menentukan urutannya, serta memberikan nama baru. Urutan kolom dalam konfigurasi skema menentukan tata letak data akhir di OSS.

      Konfigurasikan skema pengiriman berdasarkan jenis pembuatan skema yang dipilih.

      • Jika Anda mengatur Schema Generation Type ke Manual, Anda harus mengonfigurasi secara manual bidang sumber, nama bidang tujuan, dan tipe bidang tujuan untuk setiap bidang pengiriman.

      • Jika Anda mengatur Schema Generation Type ke Auto Generate, sistem secara otomatis mengidentifikasi dan mencocokkan bidang-bidang untuk pengiriman.

      Penting

      Tipe data bidang yang dikirimkan harus sesuai dengan tipe data bidang sumber yang bersesuaian. Jika tidak, bidang tersebut akan dibuang sebagai data kotor. Untuk informasi selengkapnya tentang pemetaan tipe data, lihat Data type mapping.

      Saat mengonfigurasi skema pengiriman, Anda dapat melakukan operasi berikut:

      • Klik Add Field untuk menambahkan bidang pengiriman baru.

      • Di kolom Actions, klik ikon panah down11 ke atas atau up ke bawah untuk mengatur ulang urutan bidang pengiriman.

      • Di kolom Actions, klik ikon delete delete untuk menghapus bidang pengiriman.

      Schema Configurations

  5. Klik OK.

    Di kotak dialog View Statement to Create Table, Anda dapat melihat pernyataan pembuatan tabel eksternal EMR yang dihasilkan secara otomatis. Anda dapat menyalin pernyataan ini untuk membuat tabel eksternal di EMR dan mengakses data di OSS dengan cepat.

    Setelah membuat tugas pengiriman, Anda dapat melakukan operasi berikut:

    • Lihat detail pengiriman, seperti nama tugas, nama tabel, bucket tujuan, awalan tujuan, waktu sinkronisasi terbaru, dan status.

    • Lihat atau salin pernyataan pembuatan tabel.

      Di kolom Actions, klik View Statement to Create Table untuk melihat atau menyalin pernyataan pembuatan tabel yang digunakan untuk membuat tabel eksternal di mesin komputasi seperti EMR. Untuk informasi selengkapnya, lihat Use EMR.

    • Lihat pesan kesalahan pengiriman.

      Jika bucket OSS atau izin pengiriman dikonfigurasi salah, pengiriman data akan gagal. Dalam kasus ini, Anda dapat melihat pesan kesalahan terkait di halaman status tugas. Untuk informasi selengkapnya tentang cara menangani kesalahan, lihat Error handling.

    • Hapus tugas pengiriman.

      Di kolom Actions, klik Delete untuk menghapus tugas pengiriman. Jika Anda mencoba menghapus tugas yang sedang dalam tahap inisialisasi, sistem akan mengembalikan kesalahan. Dalam kasus ini, coba lagi nanti.

Lihat data di OSS

Setelah tugas pengiriman diinisialisasi dan data telah dikirimkan, Anda dapat melihat data di OSS menggunakan konsol OSS, API atau SDK, atau mesin komputasi seperti EMR. Untuk informasi selengkapnya, lihat File overview.

Format alamat untuk Objek OSS adalah sebagai berikut:

oss://BucketName/TaskPrefix/TaskName_ConcurrentID_TaskPrefix__SequenceID

Format ini terdiri dari komponen-komponen berikut: BucketName adalah nama bucket. TaskPrefix adalah awalan direktori, yang juga termasuk dalam nama file. TaskName adalah nama tugas pengiriman. ConcurrentID adalah ID konkurensi internal yang dimulai dari 0. Sistem pengiriman secara otomatis meningkatkan konkurensi seiring peningkatan throughput. SequenceID adalah nomor urut file, yang bertambah mulai dari 1.

Time partitioning

Pengiriman data dapat mengekstraksi waktu ketika data ditulis ke Tablestore. Anda dapat menggunakan variabel berikut untuk mengonversi waktu penulisan data menjadi awalan direktori untuk bucket OSS: $yyyy (tahun empat digit), $MM (bulan dua digit), $dd (hari dua digit), $HH (jam dua digit), dan $mm (menit dua digit).

Catatan

Untuk performa optimal, kami merekomendasikan agar ukuran file di OSS minimal 4 MB. Saat mesin komputasi memuat data dari OSS, jumlah partisi yang lebih banyak menyebabkan waktu eksekusi transaksi lebih lama. Oleh karena itu, granularitas partisi waktu tidak boleh terlalu rinci. Dalam sebagian besar skenario penulisan real-time, partisi berdasarkan hari atau jam sudah cukup, dan partisi tingkat menit biasanya tidak diperlukan.

Sebagai contoh, pertimbangkan data yang ditulis ke Tablestore pada pukul 16.03 tanggal 31 Agustus 2020. Tabel berikut menunjukkan jalur objek yang dihasilkan di OSS untuk berbagai konfigurasi awalan tujuan.

OSS bucket

TaskName

Destination prefix

OSS object path

myBucket

testTask

myPrefix

oss://myBucket/myPrefix/testTask_0_myPrefix__1

myBucket

testTaskTimeParitioned

myPrefix/$yyyy/$MM/$dd/$HH/$mm

oss://myBucket/myPrefix/2020/08/31/16/03/testTaskTimeParitioned_0_myPrefix_2020_08_31_16_03__1

myBucket

testTaskTimeParitionedHiveNamingStyle

myPrefix/year=$yyyy/month=$MM/day=$dd

oss://myBucket/myPrefix/year=2020/month=08/day=31/testTaskTimeParitionedHiveNamingStyle_0_myPrefix_year=2020_month=08_day=31__1

myBucket

testTaskDs

ds=$yyyy$MM$dd

oss://myBucket/ds=20200831/testTaskDs_0_ds=20200831__0

Data type mapping

Parquet logical type

Tablestore data type

Boolean

Boolean

Int64

Int64

Double

Double

UTF8

String

Error handling

Error message

Cause

Solution

UnAuthorized

Tablestore tidak memiliki izin yang diperlukan.

Verifikasi bahwa peran terkait layanan AliyunServiceRoleForOTSDataDelivery ada di RAM.

Jika peran tersebut tidak ada, buat dari halaman Deliver Data to OSS. Saat Anda mulai membuat tugas pengiriman, konsol akan meminta Anda untuk membuat peran yang diperlukan.

InvalidOssBucket

Bucket OSS yang ditentukan tidak ada.

  • Verifikasi bahwa bucket OSS berada di wilayah yang sama dengan instans Tablestore.

  • Verifikasi bahwa bucket OSS ada.

Setelah Anda membuat bucket OSS, sistem secara otomatis mencoba menulis ulang data ke bucket tersebut dan memperbarui progres pengiriman.

Untuk informasi selengkapnya tentang mengapa tidak ada data yang dikirimkan ke OSS setelah Anda membuat tugas pengiriman, lihat Data not delivered to OSS after task creation.