全部产品
Search
文档中心

MaxCompute:Definisi OBJECT TABLE

更新时间:Jan 06, 2026

MaxCompute memperkenalkan fitur Object Table yang memungkinkan mesin komputasi gudang data mengakses data tidak terstruktur beserta metadata-nya di penyimpanan data lake. Topik ini menjelaskan sintaks perintah untuk Object Table dan menyertakan contoh penggunaannya.

Informasi latar belakang

Banyak proses AI memerlukan pengembang gudang data yang memahami data dan operasi bisnis. Pengembang tersebut memanfaatkan daya komputasi skala besar berbiaya rendah dari platform data besar untuk melakukan pra-pemrosesan data bagi model besar atau menangani data tidak terstruktur. Proses-proses tersebut dan hasilnya berinteraksi dengan data di gudang data atau data lake.

Penggunaan SQL untuk memproses data tidak terstruktur menghadirkan tantangan berikut:

  • Mesin SQL data besar tidak mengetahui ukuran objek saat membaca file dari Object Storage Service (OSS). Hal ini menyulitkan optimalisasi rencana eksekusi, pengendalian konkurensi, atau penentuan jumlah tugas konkuren yang tepat secara otomatis. Selain itu, kondisi filter tidak dapat didorong ke bawah secara efektif, sehingga mencegah pemanfaatan penuh daya komputasi ketika terjadi kesenjangan data.

  • Membaca metadata dari Object Storage Service tidak efisien karena setiap kueri memerlukan akses remote ke layanan penyimpanan, yang menyebabkan latensi tinggi.

  • Daftar file dari Object Storage Service (OSS) hanya dapat diambil secara serial dalam satu proses di dalam user-defined table-valued function (UDTF), sehingga mengakibatkan performa baca data yang buruk.

  • Logika penanganan izin dan koneksi jaringan ke layanan penyimpanan harus diimplementasikan di dalam user-defined function (UDF).

  • UDF memiliki kemampuan terbatas untuk memproses data tidak terstruktur. Gudang data tradisional tidak menyediakan cara fleksibel dan aman untuk mengunggah gambar kustom, serta tidak memiliki lingkungan runtime yang aman untuk UDF. Selain itu, pemanggilan remote memerlukan integrasi konkuren dengan layanan komputasi terdistribusi.

Fitur

MaxCompute memperkenalkan fitur Object Table yang memungkinkan mesin komputasi gudang data mengakses data tidak terstruktur beserta metadata-nya di penyimpanan data lake. Fitur ini menyediakan kemampuan berikut:

  • Memungkinkan mesin membaca metadata objek OSS sebagai tabel.

  • Menyimpan cache berbagai jenis metadata objek OSS secara terverifikasi berdasarkan kemampuan Metadata Table. Mesin SQL kemudian dapat menggunakan Metadata Table untuk melakukan optimisasi kueri yang efektif, seperti penyaringan data dan penurunan kondisi.

  • Memungkinkan Anda membaca konten file data tidak terstruktur dengan berbagai cara menggunakan fungsi dokumen bawaan.

  • Mesin SQL MaxCompute menggunakan metadata Object Table untuk melakukan chunking konkuren, sehingga memungkinkan komputasi terdistribusi skala besar guna meningkatkan efisiensi pembacaan dan pemrosesan data.

  • Mendukung pengunggahan gambar kustom untuk membangun UDF dan memproses data tidak terstruktur yang dibaca oleh mesin.

  • Memungkinkan mesin memproses data tidak terstruktur, menghasilkan data terstruktur, dan menuliskannya ke tabel internal maupun tabel eksternal di gudang data. Fitur ini juga akan mendukung pembuatan hasil data tidak terstruktur dan menuliskannya kembali ke Object Storage Service melalui Object Table.

  • Mendukung mesin Maxframe untuk ekosistem Python.

Batasan

  • Proyek MaxCompute harus mendukung fitur Schema. Untuk informasi selengkapnya, lihat Aktifkan fitur Schema.

  • MaxCompute harus mendukung sistem tipe data 2.0.

  • Object Table tidak mendukung partisi.

Penagihan

  • Object Table merupakan kumpulan metadata objek dari OSS. Biaya penyimpanan dikenakan untuk metadata yang direfresh dan disimpan di Object Table. Untuk informasi selengkapnya, lihat Biaya penyimpanan. Karena file di OSS tidak disimpan dalam MaxCompute, MaxCompute tidak mengenakan biaya penyimpanan. OSS mengenakan biaya untuk penyimpanan dan akses data. Untuk informasi selengkapnya, lihat Biaya penyimpanan OSS.

  • Dalam tugas yang mengekstraksi dan merefresh metadata OSS, inputsize untuk setiap file yang dipindai adalah nilai yang terkait dengan metadata, bukan ukuran file sebenarnya. Oleh karena itu, total biaya tugas refresh berkaitan dengan jumlah file, bukan ukuran sebenarnya di OSS. Untuk informasi selengkapnya, lihat Penagihan SQL untuk tabel eksternal.

  • Biaya komputasi dikenakan saat Anda menggunakan Object Table dan metadata-nya untuk menganalisis, mengekstraksi, dan memproses data tidak terstruktur dari OSS.

    • Dalam mode bayar sesuai penggunaan, analisis metadata pada Object Table ditagih sebagai tabel internal. Untuk informasi selengkapnya, lihat Penagihan SQL Standar. Pemrosesan konten data tidak terstruktur dari OSS ditagih sebagai tabel eksternal. Untuk informasi selengkapnya, lihat Penagihan SQL untuk tabel eksternal.

    • Dalam mode langganan, sumber daya komputasi langganan digunakan. Untuk informasi selengkapnya, lihat Biaya komputasi (Langganan).

Buat OBJECT TABLE

Sintaks

CREATE OBJECT TABLE [IF NOT EXISTS] <objecttable_name> 
WITH SERDEPROPERTIES ('<key>' = '<value>') 
LOCATION '<location>' 
[TBLPROPERTIES ('<key>' = '<value>')] 
[COMMENT '<comment>'] 
;
Catatan
  • Object Table harus digunakan dalam proyek yang mendukung mode Schema, dan sakelar sintaks Schema harus diaktifkan.

  • Anda tidak perlu mendefinisikan kolom untuk Object Table. Sistem menyediakan kolom metadata.

Parameter

Parameter

Wajib

Deskripsi

objecttable_name

Wajib.

Nama tabel.

SERDEPROPERTIES ('<key>'='<value>')

Wajib.

Menentukan peran RAM untuk otentikasi. Jika parameter ini tidak ditentukan, peran RAM bernama AliyunODPSDefaultRole di bawah Akun Alibaba Cloud saat ini digunakan secara default untuk mengakses OSS.

Contoh: 'odps.properties.rolearn'='acs:ram::uid:role/aliyunodpsdefaultrole'.

Sebelum menggunakan peran tersebut, pastikan Anda telah menyelesaikan otorisasi satu klik untuk AliyunODPSDefaultRole guna memberikan akses langsung proyek MaxCompute ke sumber daya OSS dari Akun Alibaba Cloud saat ini menggunakan Token Layanan Keamanan (STS).

Catatan

Otorisasi satu klik hanya dapat dilakukan jika ProjectOwner proyek MaxCompute adalah Akun Alibaba Cloud OSS.

location

Wajib.

  • Jalur objek OSS yang dipetakan oleh Object Table. Formatnya adalah oss://<oss_endpoint>/<bucket_name>/<oss_directory_name>/. Contoh: oss://oss-cn-hangzhou-internal.aliyuncs.com/odps-external-****/ottest/.

  • Object Table mengekstraksi metadata file dalam direktori tersebut.

  • Untuk mendapatkan oss_endpoint:

    • Masuk ke Konsol Object Storage Service (OSS).

    • Pada halaman Buckets, klik Bucket Name yang dituju untuk masuk ke halaman Objects.

    • Pada bagian Port di halaman Overview, dapatkan Endpoint untuk Access from ECS over the Classic Network (internal network).

TBLPROPERTIES ('<key>'='<value>')

Opsional.

  • metadata.cache.mode: Mode refresh cache.

    • manual: pemicu manual (default)

    • periodic: pemicu periodik. Mode ini harus digunakan bersama parameter periode refresh metadata.staleness.seconds.

  • metadata.staleness.seconds: Periode refresh. Nilainya berkisar antara [1, 604800], yaitu 1 detik hingga 1 minggu. Parameter ini bukan jaminan ketat. Penjadwal mencoba mengeksekusi refresh berdasarkan parameter ini.

comment

Opsional.

Komentar tabel.

Contoh

SET odps.namespace.schema=true; 
CREATE OBJECT TABLE ot_demo_day 
WITH serdeproperties ( 
 'odps.properties.rolearn'='acs:ram::xxxxxx:role/aliyunodpsdefaultrole') 
LOCATION 'oss://oss-cn-hangzhou-internal.aliyuncs.com/odps-external-****/ottest/';

Lihat properti OBJECT TABLE

Sintaks

DESC <object_table_name>

Parameter

object_table_name: Wajib. Nama tabel.

Contoh

DESC ot_demo_day; 

Hasil berikut dikembalikan.

+------------------------------------------------------------------------------------+
| Owner:                    ALIYUN$****@test.aliyunid.com                        |
| Project:                  test_objecttable                                         |
| Schema:                   default                                                  |
| TableComment:                                                                      |
+------------------------------------------------------------------------------------+
| CreateTime:               2024-09-02 20:01:56                                      |
| LastDDLTime:              2024-09-02 20:01:56                                      |
| LastModifiedTime:         2024-09-02 20:01:56                                      |
+------------------------------------------------------------------------------------+
| InternalTable: YES      | Size: 0                                                  |
+------------------------------------------------------------------------------------+
| Native Columns:                                                                    |
+------------------------------------------------------------------------------------+
| Field           | Type       | Label | Comment                                     |
+------------------------------------------------------------------------------------+
| key             | varchar(2048) |       | The name of the object.                     |
| size            | bigint     |       | The size of the returned object in bytes.   |
| type            | varchar(32) |       | The type of the object and valid values: Normal, Multipart, Appendable, and Symlink. |
| last_modified   | timestamp  |       | The last modified time of the object.       |
| storage_class   | varchar(32) |       | The storage class of the object.            |
| etag            | varchar(64) |       | The entity tag (ETag). When an object is created, an ETag is created to identify the content of the object. |
| restore_info    | varchar(256) |       | The restoration status of the object.       |
| owner_id        | bigint     |       | The ID of the bucket owner.                 |
| owner_display_name | varchar(256) |       | The display name of the bucket owner.       |
+------------------------------------------------------------------------------------+

Tabel berikut menjelaskan beberapa kolom dalam hasil yang dikembalikan.

Nama Kolom

Deskripsi Tipe

NULL Diizinkan

Deskripsi

key

VARCHAR(2048)

Batas panjang asli adalah 1023.

Untuk informasi selengkapnya, lihat Konvensi penamaan dan contoh objek OSS.

False

Nama jalur relatif objek di Object Table.

size

BIGINT

False

Ukuran objek dalam byte.

type

VARCHAR(32)

False

Tipe file objek di OSS: Normal, Multipart, Appendable, dan Symlink.

last_modified

TIMESTAMP_NTZ

False

Waktu terakhir data objek dimodifikasi di OSS.

storage_class

VARCHAR(32)

False

Kelas penyimpanan objek di OSS. Untuk informasi selengkapnya tentang tipe spesifik, lihat Kelas penyimpanan.

etag

VARCHAR(64)

False

ETag adalah tag entitas yang dibuat saat setiap objek dihasilkan. Ini adalah tanda tangan yang digunakan untuk mengidentifikasi apakah konten objek berubah antara dua pembaruan, tetapi bukan pengenal unik.

restore_info

VARCHAR(256)

True

Menjelaskan apakah objek telah dipulihkan dari penyimpanan dingin. Jika objek sedang dipulihkan, bidang ini berisi informasi tentang proses tersebut.

owner_id

BIGINT

True

ID pemilik objek.

owner_display_name

VARCHAR(256)

True

Nama tampilan pemilik objek.

Lihat pernyataan DDL OBJECT TABLE

Sintaks

SHOW CREATE TABLE <object_table_name>;

Parameter

object_table_name: Wajib. Nama tabel.

Contoh

SHOW CREATE TABLE ot_demo_day; 

Hasil berikut dikembalikan.

CREATE OBJECT TABLE IF NOT EXISTS yunqi_object_****.`default`.ot_demo_day 
WITH SERDEPROPERTIES ( 
  'serialization.format'='1', 
  'odps.properties.rolearn'='acs:ram::139699392458****:role/aliyunodpsdefaultrole') 
LOCATION 
  'oss://oss-cn-hangzhou-internal.aliyuncs.com/odps-external-****/ottest/' 
TBLPROPERTIES ( 
  'last_modified_time'='1731478307', 
  'transient_lastDdlTime'='1731478307', 
  'metadata.cache.mode'='manual', 
  'metadata.staleness.seconds'='3600');

Segarkan metadata OBJECT TABLE

Data objek aktual untuk Object Table disimpan di OSS. MaxCompute menyimpan cache metadata objek tersebut dan melakukan kueri serta komputasi berdasarkan metadata yang di-cache. Oleh karena itu, sebelum menggunakan Object Table, Anda harus merefresh cache-nya. Anda dapat merefresh cache secara manual atau mengonfigurasi refresh periodik saat membuat tabel.

Catatan

Baik refresh manual maupun periodik merupakan pembaruan penuh.

Penyegaran Manual

Setiap refresh merupakan sinkronisasi metadata penuh. Anda dapat mengontrol waktu dan frekuensi refresh.

  • Sintaks

    ALTER TABLE <objecttable_name> REFRESH METADATA;
  • Parameter

    objecttable_name: Wajib. Nama tabel.

  • Contoh

    ALTER TABLE ot_demo_day REFRESH METADATA;

Refresh periodik

Jika file dalam direktori OSS yang dipetakan ke Object Table sering berubah, Anda dapat merefresh metadata secara periodik. Untuk melakukannya, tentukan parameter terkait saat membuat tabel. Hal ini mengurangi biaya maintenance.

  • Sintaks

    SET odps.namespace.schema=true;
    SET odps.sql.type.system.odps2 = true;
    
    CREATE OBJECT TABLE ot_demo_day 
    WITH serdeproperties (
     'odps.properties.rolearn'='acs:ram::xxxxxx:role/aliyunodpsdefaultrole'
    )
    location 'oss://oss-cn-hangzhou-internal.aliyuncs.com/odps-external-****/ottest/'
    tblproperties (
      'metadata.cache.mode' = 'periodic',
      'metadata.staleness.seconds' = '3600'
    );
    
  • Parameter

    • metadata.staleness.seconds: Periode refresh. Untuk mode periodic, Anda harus menentukan parameter ini. Nilainya harus berada dalam rentang [1, 604800], yaitu 1 detik hingga 1 minggu. Parameter ini bukan jaminan ketat. Penjadwal mencoba mengeksekusi refresh berdasarkan parameter ini.

    • metadata.cache.mode: Metode pemicu refresh. Opsi berikut tersedia.

      • periodic: Refresh dipicu secara periodik.

      • manual: Refresh dipicu secara manual (default). Anda dapat mengontrol waktu pemicunya.

Lihat tugas refresh

Anda dapat menggunakan perintah berikut untuk melihat status tugas refresh historis.

SHOW refresh task history FOR object TABLE <object_table_name>;
  • Parameter

    • <object_table_name> harus berupa Object Table.

    • Nilai kembalian: Perintah mengembalikan ID instans (InstanceId), waktu mulai (CreateTime), waktu selesai (EndTime), dan status (Status) setiap tugas refresh.

    • Jika statusnya Failed, Anda dapat menjalankan wait InstanceId; lalu mencetak tampilan log untuk melihat detail error.

  • Contoh

    -- Lihat tugas refresh historis Object Table.
    SHOW refresh task history for object table ot_demo_day04;
    
    -- Hasil berikut dikembalikan.
    ID = 20260105*******f
    +---------------------------------------------------------------------------------------------------+
    | Project:                  test_project                                                                              |
    | Schema:                   default                                                                                           |
    | Task:                     ***                        |
    +---------------------------------------------------------------------------------------------------+
    | History:                                                                                          |
    +---------------------------------------------------------------------------------------------------+
    | InstanceId                       | CreateTime             | EndTime                | Status       |
    +---------------------------------------------------------------------------------------------------+
    | 20260105******************ks     | 2026-01-05 14:12:00    | 2026-01-05 14:12:04    | Terminated   |
    | 20260105******************y3     | 2026-01-05 14:10:00    | 2026-01-05 14:10:03    | Terminated   |
    +---------------------------------------------------------------------------------------------------+
    
    OK

Kueri OBJECT TABLE

Object Table mengambil metadata file dalam direktori OSS. Anda dapat mengkueri Object Table untuk melihat metadata tersebut. Anda juga dapat menggunakan pernyataan SQL untuk melakukan komputasi pada metadata, seperti penyaringan dan pencocokan. Komputasi ini mencakup tetapi tidak terbatas pada agregasi, join, fungsi jendela, serta klausa `ORDER BY` dan `LIMIT`.

Sintaks

SELECT * FROM <object_table_name>;

Parameter

object_table_name: Wajib. Nama tabel.

Contoh

-- Anda dapat mengkueri data yang diunggah ke direktori OSS tertentu. Jika volume datanya besar, Anda dapat melihat lima catatan.
SELECT * FROM  ot_demo_day [limit 5];

Kueri konten objek untuk komputasi bisnis

Proses kueri hanya melakukan komputasi pada metadata objek. Proses ini tidak melibatkan konten aktual objek. Namun, proses komputasi perlu membaca konten aktual objek tersebut. MaxCompute memiliki fungsi unduh bawaan yang dapat Anda integrasikan ke dalam proses komputasi Anda.

Sintaks fungsi GET_DATA_FROM_OSS

Fungsi GET_DATA_FROM_OSS membaca sebagian atau seluruh konten objek dan mengembalikannya dalam format biner.

BINARY GET_DATA_FROM_OSS (
  STRING <full_object_table_name>,
  STRING <key> 
  [, BIGINT <offset>]              
  [, BIGINT <length>] 
  [, STRING <object_not_found_policy>] 
)

Parameter

Parameter

Wajib

Tipe data

Deskripsi

Nilai default

full_object_table_name

Ya

STRING

Jalur lengkap ke OBJECT TABLE dalam model tiga tingkat, termasuk nama Proyek dan Schema, seperti project.schema.object_table.

Jika Anda menggunakan RoleARN untuk otentikasi saat membuat tabel, parameter ini membantu menghasilkan token Security Token Service (STS) secara otomatis untuk mengakses OSS.

Tidak ada

key

Ya

STRING

Nama objek yang diakses di Object Table. Untuk informasi selengkapnya, lihat deskripsi parameter `key` dalam respons yang dijelaskan di Lihat properti OBJECT TABLE.

Tidak ada

offset

Tidak

BIGINT

Posisi awal pembacaan konten objek. Nilainya harus lebih besar dari atau sama dengan 0.

0. Artinya operasi baca dimulai dari awal objek.

length

Tidak

BIGINT

Jumlah byte yang dibaca.

-1. Artinya panjangnya tidak dibatasi.

object_not_found_policy

Tidak

STRING

Menentukan cara MaxCompute mengembalikan hasil pemanggilan fungsi jika kunci objek ada di data cache tetapi objek tersebut tidak lagi ada di OSS. Nilai yang valid:

  • OUTPUT_NULL: Tidak melempar exception. Output-nya NULL.

  • THROW_EXCEPTION: Melempar exception dan menghentikan tugas saat ini.

  • WARN_AND_NULL: Tidak melempar exception dan mengembalikan NULL. Entri log ditambahkan ke output waktu proses SQL untuk menunjukkan bahwa objek tidak ada. Jika ketidakkonsistenan ini terjadi pada banyak objek, performa tugas secara keseluruhan mungkin terpengaruh.

Nilai default-nya adalah OUTPUT_NULL.

Contoh 1

Untuk mengeluarkan hasil fungsi GET_DATA_FROM_OSS sebagai tipe STRING, masukkan ke dalam fungsi `STRING`.

SELECT STRING(
  GET_DATA_FROM_OSS('<project_name>.default.ot_demo_day', key, 0, -1, 'OUTPUT_NULL')
) 
FROM ot_demo_day;

Contoh 2

Baca seluruh konten Object Table dan kembalikan sebagai nilai biner. Jalur lengkap Object Table adalah <project_name>.default.ot_demo_day. Kode berikut menunjukkan kombinasi parameter yang berbeda.

-- Format lengkap.
SELECT GET_DATA_FROM_OSS('<project_name>.default.ot_demo_day', key, 0, -1, 'OUTPUT_NULL') FROM ot_demo_day;

-- Pernyataan berikut setara dengan get_data_from_oss('<project_name>.default.ot_demo_day', key, 0, -1, 'OUTPUT_NULL').
SELECT GET_DATA_FROM_OSS('<project_name>.default.ot_demo_day', key) FROM ot_demo_day;

SELECT GET_DATA_FROM_OSS('<project_name>.default.ot_demo_day', key, 0) FROM ot_demo_day;

SELECT GET_DATA_FROM_OSS('<project_name>.default.ot_demo_day', key, 0, -1) FROM ot_demo_day;

SELECT GET_DATA_FROM_OSS('<project_name>.default.ot_demo_day', key, 'OUTPUT_NULL') FROM ot_demo_day;

SELECT GET_DATA_FROM_OSS('<project_name>.default.ot_demo_day', key, 0, 'OUTPUT_NULL') FROM ot_demo_day;

Gunakan optimisasi kueri untuk meningkatkan performa

Secara default, saat Anda mengakses tabel dalam pernyataan SQL MaxCompute, MaxCompute membuat chunk berukuran merata berdasarkan jumlah catatan, ukuran catatan dalam byte, dan total sumber daya komputasi yang tersedia di bawah kuota Anda. Hal ini menyediakan kemampuan komputasi paralel untuk shard yang berbeda, yang secara efektif mengendalikan masalah long-tail dalam tugas paralel dan meningkatkan performa kueri secara keseluruhan.

Metode chunking ini tidak ideal untuk pernyataan SQL yang perlu mengunduh konten objek dari Object Table untuk komputasi dalam memori. Performa tidak optimal, dan operasi I/O dapat dengan mudah menjadi bottleneck, menyebabkan masalah long-tail. Pertimbangkan kasus berikut:

key

size

a0000.jpg

10 MB

a0001.jpg

10 MB

a0002.jpg

10 MB

...

...

a1022.jpg

10 MB

a1023.jpg

10 MB

b.avi

10 GB

Asumsikan hanya tersedia dua sumber daya worker. Jika chunk dibuat berdasarkan jumlah baris atau byte catatan, seperti yang dilakukan untuk tabel internal standar, dua objek split mungkin dibuat: split1 ([a0000.jpg hingga a0511.jpg]) dan split2 ([a0512.jpg hingga a1023.jpg, b.avi]). Volume data aktual yang diunduh untuk split1 adalah 10 MB × 512 = 5 GB. Volume data untuk split2 adalah 5 GB + 10 GB = 15 GB. Beban komputasi untuk split2 jauh lebih tinggi daripada split1, yang menyebabkan masalah long-tail parah.

Pendekatan yang lebih logis adalah membuat chunk berdasarkan ukuran aktual objek saat pernyataan SQL Anda perlu mengunduhnya. Hal ini membantu mengendalikan masalah long-tail. Jika logika konsumsi data objek OSS lebih memakan waktu, diperlukan kemampuan chunking yang lebih fleksibel. Untuk kasus di atas, Anda dapat membuat dua split: split1 ([a0000.jpg hingga a1023.jpg]) dan split2 ([b.avi]). Volume unduhan untuk kedua split adalah 10 GB.

Object Table MaxCompute menyediakan kemampuan ini dan secara default membuat chunk berdasarkan ukuran objek aktual. Nilai default-nya adalah 1 GB. Anda dapat menyesuaikan nilai ini sesuai kebutuhan, dengan tingkat granularitas KB, MB, atau GB.

# Nilai default-nya adalah 1 GB. Anda dapat menyesuaikannya.
SET odps.sql.object.table.split.unit.gb = 1;
SELECT get_data_from_oss('project.default.ot_demo_day', key) FROM ot_demo_da WHERE ...


# Atau, Anda dapat mengontrolnya pada level MB. Ini memiliki prioritas lebih tinggi daripada parameter GB.
SET odps.sql.object.table.split.unit.mb = 1;
SELECT get_data_from_oss('project.default.ot_demo_day', key) FROM ot_demo_da WHERE ...


# Atau, Anda dapat mengontrolnya pada level KB. Ini memiliki prioritas lebih tinggi daripada parameter GB dan MB.
SET odps.sql.object.table.split.unit.kb = 1;
SELECT get_data_from_oss('project.default.ot_demo_day', key) FROM ot_demo_da WHERE ...

Dalam beberapa kasus, Anda mungkin ingin menonaktifkan solusi optimisasi kueri ini. Solusi ini menjalankan dua pekerjaan. Pekerjaan pertama melakukan pra-pemrosesan, dan Anda dapat melihat informasinya di Logview. Object Table MaxCompute menyediakan cara untuk melakukannya:

SET odps.sql.object.table.split.by.object.size.enabled = false;
SELECT get_data_from_oss('project.default.ot_demo_day', key) FROM ot_demo_day WHERE ...

Hapus OBJECT TABLE

Object Table menyimpan cache metadata Anda, yang mengonsumsi storage space dan menimbulkan biaya penyimpanan. Jika Anda tidak lagi memerlukan data cache ini untuk bisnis Anda, Anda dapat menghapus Object Table tersebut. Untuk menggunakan data tersebut lagi di masa depan, Anda dapat membuat ulang Object Table.

Sintaks

DROP TABLE [IF EXISTS] <object_table_name>; 

Parameter

object_table_name: Wajib. Nama tabel.

Contoh

DROP TABLE IF EXISTS ot_demo_day;

FAQ

ODPS-0010000:System internal error

  • Gejala

    Pesan error berikut dikembalikan:

    ODPS-0010000:System internal error - 
    ActionHandler job failed with failinfo	storage service worker error occured: 
    common/io/oss/oss_file_system_cppsdk.cpp(919): 
    OSSRequestException: Status: -50, RequestId: , 
    ErrorCode: ClientError:-50, Message: E_HTTP_ERROR_CONN_REFUSED
  • Penyebab

    Titik akhir publik untuk OSS digunakan saat Object Table dibuat.

  • Solusi

    Saat membuat Object Table, oss_endpoint dalam parameter location harus berupa alamat jaringan internal. Untuk informasi selengkapnya tentang cara mendapatkan alamat tersebut, lihat Parameter.

Refresh periodik gagal

  • Gejala

Anda menyetel parameter untuk refresh periodik saat membuat Object Table. Namun, refresh tidak terjadi ketika periode refresh tercapai.

  • Solusi

Periksa apakah nilai parameter `location` yang dikonfigurasi untuk Object Table merupakan nama domain jaringan internal OSS. Untuk informasi selengkapnya tentang cara membuat Object Table, lihat Parameter.

Tugas refresh periodik melaporkan error

  • Pesan error

    FAILED: ODPS-0010000:System internal error - ActionHandler job failed with failinfo storage service worker error occured: common/io/oss/oss_file_system_cppsdk.cpp(877): OSSRequestException: Status: -50, RequestId: , ErrorCode: ClientError:-50, Message:

  • Solusi

    Ini adalah error internal. Anda dapat mengirimkan tiket untuk menghubungi tim dukungan teknis MaxCompute.