全部产品
Search
文档中心

MaxCompute:FAQ tentang JDBC

更新时间:Jul 06, 2025

Topik ini menjawab beberapa pertanyaan umum tentang Java Database Connectivity (JDBC).

Kategori

FAQ

Penggunaan driver JDBC MaxCompute

Apakah saya dapat menonaktifkan mode auto-commit untuk driver JDBC MaxCompute?

MaxCompute tidak mendukung transaksi. Setiap query langsung diproses di server. Mode auto-commit secara otomatis diaktifkan untuk driver JDBC MaxCompute, sehingga Anda tidak dapat menonaktifkannya.

Apakah driver JDBC MaxCompute memerlukan kumpulan koneksi?

MaxCompute menyediakan layanan Representational State Transfer (REST), yang berbeda dari cara database tradisional mempertahankan koneksi jangka panjang. Pembuatan koneksi menggunakan driver JDBC MaxCompute merupakan operasi ringan. Oleh karena itu, driver JDBC MaxCompute tidak memerlukan kumpulan koneksi, namun tetap mendukungnya.

Bagaimana cara melihat log dari driver JDBC MaxCompute?

Driver JDBC MaxCompute menyediakan dua mode logging untuk memenuhi kebutuhan skenario yang berbeda:

Logging terintegrasi SLF4J

Jika sistem aplikasi Anda sudah menggunakan kerangka logging SLF4J, driver akan secara otomatis mewarisi konfigurasi logging dari aplikasi utama tanpa operasi tambahan. Isi log mengikuti kebijakan konfigurasi logging global aplikasi, seperti jalur log dan level.

Sistem logging independen (ODPS Logger)

Anda dapat mengaktifkan sistem logging independen melalui parameter URL JDBC:

jdbc:odps:<endpoint>?enableOdpsLogger=true

Catatan:

  • Jalur file log: berada di direktori yang sama dengan file JAR driver JDBC (atau di direktori yang sama dengan file fat JAR jika dikemas sebagai fat JAR).

  • Nama file log: jdbc.log.

Bagaimana cara mendapatkan URL LogView MaxCompute?

LogView adalah alat pemantauan visualisasi untuk tugas MaxCompute. Melalui URL LogView, Anda dapat melihat status eksekusi tugas, konsumsi sumber daya, penerusan data, dan informasi diagnostik lainnya secara real-time. Berikut cara memperoleh URL LogView berdasarkan metode integrasi yang digunakan:

Integrasi kode

Anda dapat memperoleh URL LogView langsung melalui API JDBC:

// Buat objek statement.
Statement statement = connection.createStatement();

// Jalankan query (termasuk pernyataan DDL/DML).
statement.executeQuery("SELECT * FROM table_name");

// Dapatkan URL LogView (diperlukan konversi tipe).
String logviewUrl = ((OdpsStatement) statement).getLogViewUrl();
System.out.println("URL Logview: " + logviewUrl);
Catatan: getLogViewUrl() hanya dapat dipanggil setelah pernyataan SQL berhasil dikirim, tetapi Anda tidak perlu menunggu tugas selesai.

Integrasi paket JAR

Saat Anda memanggil paket JAR JDBC langsung melalui baris perintah atau skrip:

  1. Pastikan bahwa output log diaktifkan.

  2. Cari kata kunci LogView di file log. Tautan LogView berlaku selama 7 hari.

Apa yang harus saya lakukan jika jumlah baris data yang dibaca menggunakan driver JDBC MaxCompute melebihi 10.000?

Membaca dan mengunduh data melalui koneksi JDBC diimplementasikan melalui Tunnel secara default. Untuk pertimbangan keamanan data, ada batas unduhan sebesar 10.000 baris. Anda dapat menghapus batasan ini dengan menggunakan parameter enableLimit.

jdbc:odps:<endpoint>?enableLimit=false

Saat parameter ini disetel ke false, server melakukan autentikasi unduhan pada semua tabel yang terlibat dalam query. Jika izin unduhan tidak diberikan, pengecualian akan dilemparkan. Untuk informasi lebih lanjut tentang cara memberikan izin unduhan, lihat Kontrol unduhan.

Apa yang harus saya lakukan jika pesan kesalahan "ODPS-0410042:Nilai tanda tangan tidak valid" muncul saat saya mengakses MaxCompute menggunakan driver JDBC?

Pastikan bahwa ID AccessKey dan Rahasia AccessKey yang Anda masukkan sesuai dengan ID AccessKey dan Rahasia AccessKey dari akun resmi Anda.

Apa yang harus saya lakukan jika pesan kesalahan "create download session failed: instance id=xxx, Error:ErrorCode=Local Error, ErrorMessage=Gagal membuat sesi unduhan dengan titik akhir tunnel" muncul saat saya mengakses MaxCompute menggunakan driver JDBC?

Kesalahan terjadi saat driver JDBC terhubung ke MaxCompute untuk mendapatkan hasil SQL menggunakan perintah Tunnel. Untuk informasi lebih lanjut tentang cara menyelesaikan kesalahan, lihat Pesan kesalahan: ErrorCode=Local Error, Gagal membuat sesi unduhan dengan titik akhir tunnel.