All Products
Search
Document Center

Tablestore:Akses Tablestore dari MaxCompute

Last Updated:Jun 21, 2026

Tabel eksternal MaxCompute memungkinkan Anda menjalankan analitik SQL langsung pada data Tablestore tanpa perlu migrasi data. Panduan ini akan memandu Anda membuat tabel eksternal di MaxCompute yang dipetakan ke tabel data Tablestore dalam akun Alibaba Cloud yang sama.

Latar Belakang

MaxCompute adalah layanan komputasi data besar yang sepenuhnya dikelola dan menyediakan gudang data serta analitik berskala petabyte. Dengan satu pernyataan DDL, Anda dapat membuat tabel eksternal di MaxCompute untuk terhubung ke sumber data eksternal guna mengimpor dan mengekspor data. Berbeda dengan tabel MaxCompute asli yang hanya menyimpan data terstruktur, tabel eksternal mendukung baik data terstruktur maupun data tidak terstruktur.

Tablestore dan MaxCompute menggunakan sistem tipe yang berbeda. Tabel berikut mencantumkan pemetaan tipe data antara kedua layanan tersebut.

Tablestore

MaxCompute

STRING

STRING

INTEGER

BIGINT

DOUBLE

DOUBLE

BOOLEAN

BOOLEAN

BINARY

BINARY

Prasyarat

Sebelum memulai, pastikan Anda telah:

  1. Mengaktifkan MaxCompute.

  2. Memiliki ruang kerja MaxCompute. Untuk informasi selengkapnya, lihat Buat ruang kerja.

  3. Memiliki pasangan AccessKey untuk otentikasi.

  4. Memberikan otorisasi kepada MaxCompute untuk mengakses Tablestore di Konsol RAM. Untuk informasi selengkapnya, lihat Otorisasi lintas akun.

  5. Memiliki instans Tablestore dan tabel data yang telah dibuat di Konsol Tablestore. Untuk informasi selengkapnya, lihat buat instans dan buat tabel data.

    Panduan ini menggunakan sumber daya contoh berikut:

    • Nama instans: cap1

    • Nama tabel data: vehicle_track

    • Kunci primer: vid (INTEGER), gt (INTEGER)

    • Titik akhir: https://cap1.cn-hangzhou.ots-internal.aliyuncs.com

      Catatan

      Gunakan titik akhir pribadi instans Tablestore saat mengaksesnya dari MaxCompute.

    • Konfigurasikan kontrol akses jaringan untuk instans tersebut. Secara default, Tablestore mengizinkan akses dari jaringan apa pun. Pertahankan konfigurasi default sebagai berikut:

      Konfigurasinya sebagai berikut: Access Type default adalah Custom. Di bawah Allowed Network Types, opsi VPC, classic network, dan public network dipilih. Di bawah Allowed Source Types, opsi Trusted Gateway (Console) dipilih. Klik Set untuk menyimpan pengaturan.

Langkah 1: Instal dan konfigurasikan klien MaxCompute

  1. Unduh dan ekstrak klien MaxCompute.

    Catatan

    Pastikan Java Runtime Environment (JRE) versi 1.7 atau lebih baru telah diinstal di mesin Anda.

  2. Edit file conf/odps_config.ini dengan konfigurasi berikut:

    # Pasangan AccessKey akun Alibaba Cloud Anda, yang terdiri dari ID AccessKey dan Rahasia AccessKey. Untuk melihat pasangan AccessKey, login ke Konsol Manajemen Alibaba Cloud, arahkan kursor ke foto profil di pojok kanan atas, lalu klik AccessKey Management.
    access_id=*******************
    access_key=*********************
    # Proyek yang ingin Anda akses.
    project_name=my_project
    # Titik akhir untuk layanan MaxCompute.
    end_point=https://service.odps.aliyun.com/api
    # Titik akhir untuk layanan MaxCompute Tunnel.
    tunnel_endpoint=https://dt.odps.aliyun.com
    # URL Logview yang dikembalikan klien setelah pekerjaan dijalankan. Buka URL ini untuk melihat informasi eksekusi pekerjaan secara detail.
    log_view_host=http://logview.odps.aliyun.com
    # Menentukan apakah akses melalui HTTPS diaktifkan.
    https_check=true
    Catatan

    Dalam file odps_config.ini, tanda pagar (#) menunjukkan komentar, sedangkan di klien MaxCompute, tanda hubung ganda (--) menunjukkan komentar.

  3. Jalankan bin/odpscmd.bat dan masukkan show tables;.

    Jika tabel dalam proyek MaxCompute saat ini ditampilkan, berarti konfigurasi sudah benar.

    odps@ MCOTStest>show tables;
    ALIYUN$document@aliyun-test.com:bank_data
    ALIYUN$document@aliyun-test.com:result_table
    OK

Langkah 2: Buat tabel eksternal

Buat tabel eksternal MaxCompute bernama ots_vehicle_track yang dipetakan ke tabel data Tablestore vehicle_track.

Tabel data target memiliki properti berikut:

  • Nama instans: cap1

  • Nama tabel data: vehicle_track

  • Kunci primer: vid (INTEGER), gt (INTEGER)

  • Titik akhir: https://cap1.cn-hangzhou.ots-internal.aliyuncs.com

CREATE EXTERNAL TABLE IF NOT EXISTS ots_vehicle_track
(
vid bigint,
gt bigint,
longitude double,
latitude double,
distance double ,
speed double,
oil_consumption double
)
STORED BY 'com.aliyun.odps.TableStoreStorageHandler' -- (1)
WITH SERDEPROPERTIES ( -- (2)
'tablestore.columns.mapping'=':vid, :gt, longitude, latitude, distance, speed, oil_consumption', -- (3)
'tablestore.table.name'='vehicle_track' -- (4)
)
LOCATION 'tablestore://cap1.cn-hangzhou.ots-internal.aliyuncs.com'; -- (5)

Tabel berikut menjelaskan parameter dalam pernyataan DDL tersebut.

Nomor

Parameter

Deskripsi

(1)

com.aliyun.odps.TableStoreStorageHandler

Penangan penyimpanan bawaan MaxCompute untuk Tablestore. Ini menentukan cara MaxCompute membaca dari dan menulis ke Tablestore.

(2)

SERDEPROPERITES

Antarmuka properti serialisasi dan deserialisasi. Dua properti wajib disertakan saat menggunakan TableStoreStorageHandler: tablestore.columns.mapping dan tablestore.table.name.

(3)

tablestore.columns.mapping

Wajib. Menentukan kolom Tablestore mana saja yang diakses oleh MaxCompute, termasuk kolom kunci primer dan kolom atribut. Nama kolom yang diawali tanda titik dua (:) menunjukkan kolom kunci primer. Pada contoh ini, :vid dan :gt adalah kunci primer; kolom lainnya adalah kolom atribut. Sertakan semua kolom kunci primer dari tabel Tablestore. Untuk kolom atribut, cantumkan hanya yang diperlukan oleh MaxCompute.

(4)

tablestore.table.name

Nama tabel Tablestore yang akan diakses. Jika tabel yang ditentukan tidak ada, MaxCompute akan mengembalikan error. MaxCompute tidak membuat tabel Tablestore secara otomatis.

(5)

LOCATION

Informasi instans Tablestore, termasuk nama instans dan titik akhir.

Langkah 3: Kueri data Tablestore melalui tabel eksternal

Penting

Konkurensi tinggi meningkatkan beban pada instans Tablestore dan dapat menyebabkan latensi lebih tinggi atau kegagalan permintaan untuk beban kerja online. Untuk mengontrol paralelisme, jalankan set odps.sql.mapper.split.size=256;. Nilai yang lebih besar mengurangi konkurensi; nilai yang lebih kecil meningkatkannya. Untuk informasi selengkapnya, lihat SQL Tuning.

Setelah tabel eksternal dibuat, data Tablestore menjadi tersedia dalam ekosistem MaxCompute. Gunakan SQL MaxCompute untuk mengkueri data tersebut.

-- Hitung kecepatan rata-rata dan konsumsi bahan bakar kendaraan dengan VID kurang dari 4 sebelum timestamp 1469171387.
select vid,count(*),avg(speed),avg(oil_consumption) from ots_vehicle_track where vid <4 and gt<1469171387  group by vid;

Contoh hasil:

odps@ analysis_vehicle>select vid,count(*), avg(speed),avg(oil_consumption) from ots_vehicle_track where vid <4 and gt<1469171387  group by vid;
ID = 20170306160538185gsvlupk2
Log view:
http://logview.odps.aliyun.com/logview/?h=http://service.odps.aliyun.com/api&p=analysis_vehicle&i=20170306160538185gsvlupk2&token=ajhxdXZNWWVPcTNrWkFOS0xpSGtoM2tFWGEwPSxPRFBT
09CTzoxNjA0MzM3MzgzMTc0NjE5LDE0ODk0MjExMzgseyJTdGF0ZW1lbnQiOlt7IkFjdGlvbiI6WyJvZHBzOlJlYWQiXSwiRWZmZWN0IjoiQWxsb3ciLCJSZXNvdXJjZSI6WyJhY3M6b2RwczoqOnByb2plY3RzL2NJSZXNvdXJjZSI6WyJhY3M6b2RwczoqOnByb2plY3RzL2
aGljbGUvaW5zdGFuY2VzLzIwMTcwMzA2MTYwNTM4MTg1Z3N2bHVwazIiXX1dLCJWZXJzaW9uIjoiMSJ9
aGljbGUvaW5zdGFuY2VzLzIwMTcwMzA2MTYwNTM4MTg1Z3N2bHVwazIiXX1dLCJWZXJzaW9uIjoiMSJ9
Job Queueing.
         STAGES      STATUS   TOTAL  COMPLETED  RUNNING  PENDING  BACKUP
M1_job_0 ..............   TERMINATED      1        1        0        0       0
R2_1_job_0 .............   TERMINATED      1        1        0        0       0
STAGES: 02/02    [==========================>>] 100%  ELAPSED TIME: 51.18 s
Summary:
+------------+------------+----------------------+----------------------+
| vid        | _c1        | _c2                  | _c3                  |
+------------+------------+----------------------+----------------------+
| 0          | 47         | 0.11622589796672624  | 6.5155061805308145   |
| 1          | 47         | 0.11200649789552555  | 6.5673983001829885   |
| 2          | 47         | 0.098971763146085    | 6.738738527883797    |
| 3          | 47         | 0.11503916531605494  | 6.6038902692751895   |
+------------+------------+----------------------+----------------------+