全部产品
Search
文档中心

Tablestore:Gunakan konsol Tablestore untuk mengirimkan data ke OSS

更新时间:Jul 06, 2025

Anda dapat membuat tugas pengiriman di Konsol Tablestore untuk mengirimkan data dari Tablestore ke Bucket Object Storage Service (OSS).

Prasyarat

OSS telah diaktifkan. Sebuah bucket telah dibuat di wilayah tempat instance Tablestore berada. Untuk informasi lebih lanjut, lihat Aktifkan OSS.

Catatan

Pengiriman data memungkinkan Anda mengirimkan data dari instance Tablestore ke bucket OSS dalam wilayah yang sama. Untuk mengirimkan data ke gudang lain seperti MaxCompute, ajukan tiket.

Catatan Penggunaan

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

  • Operasi penghapusan pada data Tablestore diabaikan ketika data dikirimkan. Data Tablestore yang dikirimkan ke OSS tidak dihapus ketika Anda melakukan operasi penghapusan pada data tersebut.

  • Dibutuhkan maksimal satu menit untuk inisialisasi saat Anda membuat tugas pengiriman.

  • Latensi berada dalam 3 menit ketika data ditulis dengan laju stabil. Latensi P99 berada dalam 10 menit ketika data disinkronkan.

    Catatan

    Latensi P99 menunjukkan latensi rata-rata dari 1% permintaan terlambat selama 10 detik sebelumnya.

Buat tugas pengiriman data

  1. Pergi ke halaman Instance Management.

    1. Masuk ke konsol Tablestore atau .

    2. Di bagian atas halaman, pilih grup sumber daya dan wilayah. Temukan instance Tablestore yang ingin Anda kelola dalam daftar instance. Lalu, klik nama instance atau Manage Instance di kolom Tindakan.

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

  3. (Opsional) Buat peran terkait layanan AliyunServiceRoleForOTSDataDelivery.

    Saat Anda mengonfigurasi pengiriman data untuk pertama kalinya, Anda harus membuat peran AliyunServiceRoleForOTSDataDelivery yang digunakan untuk memberi otorisasi kepada Tablestore menulis data ke bucket OSS. Untuk informasi lebih lanjut, lihat Peran Terkait Layanan Tablestore.

    Catatan

    Untuk informasi lebih lanjut tentang peran terkait layanan, lihat Peran Terkait Layanan.

    1. Di tab Deliver Data to OSS, klik Role for Delivery Service.

    2. Di pesan Role Details, lihat informasi terkait. Klik OK.

  4. Buat tugas pengiriman.

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

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

      Parameter

      Deskripsi

      Task Name

      Nama tugas pengiriman.

      Nama harus memiliki panjang 3 hingga 16 karakter dan hanya dapat berisi huruf kecil, angka, dan tanda hubung (-). Harus dimulai dan diakhiri dengan huruf kecil atau angka.

      Destination Region

      Wilayah tempat instance Tablestore dan bucket OSS berada.

      Source Table

      Nama tabel Tablestore.

      Destination Bucket

      Nama bucket OSS ke mana Anda ingin mengirimkan data.

      Penting

      Pastikan bahwa sebuah bucket telah dibuat di wilayah yang sama dengan instance Tablestore.

      Destination Prefix

      Awalan folder di bucket. Data dikirimkan dari Tablestore ke folder tersebut. Jalur folder tujuan mendukung variabel waktu berikut: $yyyy, $MM, $dd, $HH, dan $mm. Untuk informasi lebih lanjut, lihat bagian Partisi data berdasarkan waktu dari topik ini.

      • Ketika jalur menggunakan variabel waktu, folder OSS dibuat secara dinamis berdasarkan waktu penulisan data. Dengan cara ini, data di OSS diorganisasikan, dipartisi, dan didistribusikan berdasarkan waktu, yang mengikuti gaya penamaan partisi hive.

      • Ketika jalur tidak menggunakan variabel waktu, semua file dikirimkan ke folder OSS yang namanya berisi awalan ini.

      Synchronization Mode

      Jenis tugas pengiriman. Nilai valid:

      • Incremental: Hanya data inkremental yang disinkronkan.

      • Full: Semua data di tabel dipindai dan disinkronkan.

      • Differential: Data penuh disinkronkan sebelum data inkremental disinkronkan.

      Ketika Tablestore menyinkronkan data inkremental, Anda dapat melihat waktu ketika data terakhir dikirimkan dan status tugas pengiriman.

      Destination Object Format

      Data yang dikirimkan disimpan dalam format Parquet. Secara default, pengiriman data menggunakan PLAIN untuk encoding. PLAIN dapat digunakan untuk mengkodekan data dari semua jenis.

      Schema Generation Type

      Tentukan kolom yang akan dikirimkan. Urutan penyortiran bidang di tabel Tablestore dapat berbeda dari urutan bidang di skema. Data Parquet yang disimpan di OSS didistribusikan berdasarkan urutan bidang di skema.

      Pilih jenis pembuatan skema.

      • Jika parameter Schema Generation Type diatur ke Manual, Anda harus mengonfigurasi bidang sumber, nama bidang tujuan, dan tipe bidang tujuan untuk pengiriman.

      • Jika parameter Schema Generation Type diatur ke Auto Generate, sistem mengidentifikasi dan mencocokkan bidang untuk pengiriman.

      Penting

      Tipe data harus konsisten antara bidang sumber dan tujuan. Jika tidak, bidang tersebut dibuang sebagai data kotor. Untuk informasi lebih lanjut tentang pemetaan tipe bidang, lihat bagian Pemetaan tipe data dari topik ini.

      Saat Anda mengonfigurasi skema, Anda dapat melakukan operasi berikut:

      • Klik +Add Field untuk menambahkan bidang untuk pengiriman.

      • Klik ikon down11 atau up di kolom Tindakan yang sesuai dengan bidang untuk menyesuaikan urutan bidang.

      • Klik ikon delete di kolom Tindakan yang sesuai dengan bidang untuk menghapus bidang.

      Schema Configurations

  5. Klik OK.

    Di pesan View Statement to Create Table, Anda dapat melihat pernyataan yang digunakan untuk membuat tabel eksternal untuk E-MapReduce (EMR). Anda juga dapat menyalin pernyataan untuk membuat tabel eksternal untuk EMR agar dapat mengakses data di OSS.

    Setelah tugas pengiriman dibuat, Anda dapat melakukan operasi berikut:

    • Lihat detail tugas pengiriman, seperti nama tugas, nama tabel, bucket tujuan, awalan tujuan, status, dan waktu ketika data terakhir disinkronkan.

    • Lihat atau salin pernyataan untuk membuat tabel.

      Klik Lihat Pernyataan untuk Membuat Tabel di kolom Actions. Anda dapat melihat atau menyalin pernyataan untuk membuat tabel eksternal menggunakan mesin komputasi seperti EMR. Untuk informasi lebih lanjut, lihat Gunakan EMR.

    • Lihat pesan kesalahan yang dikembalikan setelah pengiriman.

      Jika konfigurasi untuk bucket OSS dan izin pengiriman salah, pengiriman data tidak dapat diselesaikan. Di halaman status tugas pengiriman, Anda dapat melihat pesan kesalahan terkait. Untuk informasi lebih lanjut tentang penanganan kesalahan, lihat bagian Penanganan Kesalahan dari topik ini.

    • Hapus tugas pengiriman.

      Klik Hapus di kolom Actions yang sesuai dengan tugas pengiriman. Anda dapat menghapus tugas pengiriman. Sistem mengembalikan kesalahan jika tugas pengiriman sedang dalam proses inisialisasi. Anda dapat menghapus tugas nanti.

Lihat data OSS

Setelah tugas pengiriman diinisialisasi dan data dikirimkan, Anda dapat melihat data yang dikirimkan ke OSS menggunakan Konsol OSS, API, SDK, atau mesin komputasi EMR. Untuk informasi lebih lanjut, lihat Ikhtisar.

Contoh URL objek OSS:

oss://NamaBucket/PrefiksTugas/NamaTugas_IDKonkurensi_PrefiksTugas__IDUrutan

Dalam contoh, NamaBucket menunjukkan nama bucket. PrefiksTugas pertama menunjukkan awalan folder tujuan. PrefiksTugas kedua menunjukkan informasi awalan tugas. NamaTugas menunjukkan nama tugas. IDKonkurensi menunjukkan nomor konkurensi yang ditentukan oleh sistem. Nomor dimulai dari 0 dan bertambah ketika throughput meningkat. IDUrutan menunjukkan ID urutan file yang dikirimkan dan bertambah dari 1.

Partisi data berdasarkan waktu

Pengiriman data memungkinkan sistem mencatat waktu ketika data ditulis ke Tablestore. Waktu terdiri dari variabel berikut: $yyyy (tahun empat digit), $MM (bulan dua digit), $dd (hari dua digit), $HH (jam dua digit), dan $mm (menit dua digit). Waktu dapat digunakan sebagai awalan bucket tujuan setelah konversi.

Catatan

Kami merekomendasikan ukuran objek OSS minimal 4 MB. Ketika mesin komputasi digunakan untuk memuat data OSS, jumlah partisi yang lebih besar menghasilkan waktu yang lebih lama untuk memuat partisi. Oleh karena itu, dalam sebagian besar skenario penulisan data real-time, kami merekomendasikan waktu berdasarkan partisi data menjadi granularitas hari atau jam, bukan menit.

Tugas pengiriman yang mana data ditulis ke Tablestore pada pukul 16:03 tanggal 31 Agustus 2020 digunakan dalam contoh. Tabel berikut menjelaskan URL objek pertama yang dihasilkan di OSS berdasarkan konfigurasi awalan tujuan yang berbeda.

Bucket OSS

Nama tugas

Awalan tujuan

URL objek OSS

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

myBucket

testTaskDs

ds=$yyyy$MM$dd

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

Pemetaan tipe data

Tipe logis Parquet

Tipe data di Tablestore

Boolean

Boolean

Int64

Int64

Double

Double

UTF8

String

Penanganan kesalahan

Pesan kesalahan

Deskripsi

Solusi

UnAuthorized

Tablestore tidak memiliki otorisasi untuk mengakses OSS.

Periksa apakah peran terkait layanan AliyunServiceRoleForOTSDataDelivery ada.

Jika peran tidak ada, Anda harus membuat tugas pengiriman untuk memicu Tablestore membuat peran tersebut.

InvalidOssBucket

Bucket OSS yang ditentukan tidak ada.

  • Periksa apakah bucket OSS dan instance Tablestore berada di wilayah yang sama.

  • Periksa apakah bucket OSS ada.

Ketika bucket OSS dibuat, semua data ditulis ulang ke bucket OSS. Kemajuan pengiriman diperbarui.