All Products
Search
Document Center

MaxCompute:Query Acceleration MaxQA

Last Updated:Sep 09, 2026

Mesin MaxQA (MaxCompute Query Accelerator) mengoptimalkan kinerja kueri untuk skenario near real-time dengan beroperasi dalam kolam sumber daya komputasi kueri khusus serta mengoptimalkan lapisan kontrol, pengoptimal kueri, mesin eksekusi, mesin penyimpanan, dan mekanisme cache. MaxQA ideal untuk skenario BI, analisis interaktif, dan gudang data near real-time yang memerlukan latensi rendah dan stabilitas tinggi.

Ketersediaan Layanan

Jadwal ketersediaan berdasarkan wilayah

Wilayah

Pratinjau publik

Ketersediaan umum

China (Hangzhou)

17 Februari 2025

24 November 2025

China (Shanghai)

China (Beijing)

China (Shenzhen)

China (Ulanqab)

China (Hong Kong)

5 Maret 2025

27 November 2025

Jepang (Tokyo)

5 Maret 2025

Singapura

20 Maret 2025

Indonesia (Jakarta)

Jerman (Frankfurt)

31 Maret 2025

AS (Silicon Valley)

AS (Virginia)

Catatan

Kelompok kuota interaktif baru secara default menggunakan mode MaxQA. Instans MaxQA yang sudah ada tidak terpengaruh.

Operasi dasar MaxQA

Buat instans MaxQA

MaxQA hanya tersedia untuk proyek MaxCompute yang menggunakan metode penagihan subscription. Untuk membuat instans MaxQA:

  1. Login ke Konsol MaxCompute dan pilih wilayah di pojok kiri atas.

  2. Pada panel navigasi kiri, pilih Manage Configurations > Quotas.

  3. Pada halaman Quotas, klik Quota Configuration di kolom Actions pada kuota target.

  4. Konfigurasi dasar

    1. Pada halaman Quota Configuration, pilih tab Basic Configurations dan klik Edit Basic Configurations.

    2. Klik Add Level-2 Quota, masukkan Quota Name, dan pilih Interactive untuk Type.

      • Saat menggunakan MaxQA, tentukan Quota Name. Disarankan menggunakan nama yang mencerminkan atribut bisnis agar mudah membedakan antarinstans.

      • Kuota Interactive didedikasikan untuk menjalankan pekerjaan query acceleration (MaxQA).

  5. Klik OK.

Setelah instans dibuat, status kelompok kuota interaktif yang bersangkutan berubah menjadi Starting. Tunggu selama 5 hingga 8 menit hingga status berubah menjadi Running. Setelah itu, Anda dapat menggunakan instans tersebut.

Hapus instans MaxQA

  1. Pada halaman Quotas, klik Quota Configuration di kolom Actions pada kuota target.

  2. Pada halaman Quota Configuration, pilih tab Basic Configurations, lalu klik Delete di kolom Actions pada kuota interaktif target.

Penghapusan berjalan di latar belakang. Halaman tidak menampilkan pembaruan status atau progres penghapusan.

Skalakan instans MaxQA

Anda dapat melakukan scale-out atau scale-in pada kelompok kuota interaktif sesuai kebutuhan bisnis:

  1. Pada halaman Quotas, klik Quota Configuration di kolom Actions pada kuota target.

  2. Pada halaman Quota Configuration, pilih tab Basic Configurations dan klik Edit Basic Configurations.

  3. Klik Add Level-2 Quota dan sesuaikan Reserved CUs [minCU,maxCU] pada kelompok kuota interaktif yang ingin Anda skalakan naik atau turun. Nilai yang lebih besar menunjukkan scale-up, sedangkan nilai yang lebih kecil menunjukkan scale-down.

    Catatan
    • Kelipatan minimum untuk CU adalah 25.

    • CU minimum harus setidaknya 25. Untuk stabilitas, atur CU minimum menjadi 50 atau lebih. Jika sumber daya interaktif tidak diperlukan, atur nilainya menjadi 0 atau hapus kelompok kuota tersebut.

    • Batasan kuota interaktif:

      • Elastically Reserved CUs tidak didukung untuk kuota interaktif.

      • Untuk memastikan kinerja dan stabilitas query acceleration, atur CU minimum sama dengan CU maksimum dalam kuota interaktif.

  4. Klik OK.

    Penyesuaian Reserved CUs untuk kelompok kuota interaktif dimulai.

Scaling Out atau Scaling In muncul di kolom Actions untuk kelompok kuota interaktif. Scaling out memerlukan waktu sekitar 5 hingga 8 menit. Scaling in mungkin memerlukan waktu lebih lama, tergantung kapan pekerjaan yang sedang berjalan selesai. Dalam skenario terburuk, sistem mungkin perlu menunggu pekerjaan pada mesin yang akan dihapus mengalami timeout sebelum operasi scale-in dimulai. Pekerjaan Anda tidak terpengaruh selama operasi penskalaan.

Konfigurasi penskalaan berbasis waktu untuk MaxQA

Anda dapat mengonfigurasi rencana penskalaan berbasis waktu untuk penjadwalan penskalaan:

  1. Pada halaman Quotas, klik Quota Configuration di kolom Actions pada kuota target.

  2. Pada halaman Quota Configuration, pilih tab Scaling Configuration.

  3. Konfigurasi rencana penskalaan berbasis waktu

    1. Pada tab Scaling Configuration, klik Add Configuration Plan. Pada kotak dialog Add Configuration Plan, masukkan Configuration Plan Name dan konfigurasikan Reserved CUs [minCU,maxCU] untuk kuota level-2.

    2. Untuk memodifikasi rencana konfigurasi yang sudah ada:

      Pada tab Scaling Configuration, klik Edit di kolom Actions pada rencana target untuk memperbaruinya.

  4. Konfigurasi jadwal berbasis waktu

    1. Pada tab Scaling Configuration, klik Edit Time Plan di bagian Scheduled Scaling Management.

    2. Klik Add Effective Period, lalu pilih Effective start time dan Configuration Plan.

      Hal ini memungkinkan Anda mengaktifkan rencana konfigurasi kuota yang berbeda pada waktu yang berbeda dalam sehari. Untuk informasi lebih lanjut, lihat Kelola sumber daya komputasi dan kuota.

Kebijakan penjadwalan

Saat Anda mengirimkan pekerjaan, tentukan nama kelompok kuota interaktif di client atau string koneksi JDBC. Pekerjaan tersebut kemudian dijadwalkan untuk dijalankan pada instans MaxQA yang sesuai.

Kebijakan fallback

MaxQA mendukung kebijakan fallback. Saat diaktifkan, tugas MaxQA yang gagal karena exception sistem secara otomatis beralih ke mode batch. Anda dapat mengaktifkan kebijakan fallback dengan cara berikut:

  • JDBC (versi 3.10.7 atau lebih baru): Fallback diaktifkan secara default. Atur disableFallback untuk menonaktifkannya, dan gunakan fallbackQuota untuk menentukan kuota target.

  • Java SDK: MaxQAConnInfo.builder().fallbackInfo(FallbackInfo.enable("<offline_quota>")).build()

  • DataWorks: Konfigurasikan aturan fallback di pengaturan penjadwalan DataStudio. Untuk informasi lebih lanjut, lihat Menggunakan DataWorks DataStudio.

Metode akses

Anda dapat mengakses MaxQA dengan metode berikut:

Menggunakan client MaxCompute

  1. Instal dan konfigurasikan client MaxCompute (odpscmd) versi 0.51.1 atau lebih baru. Untuk informasi lebih lanjut, lihat Terhubung menggunakan client lokal (odpscmd).

  2. Pada direktori conf instalasi client, modifikasi file odps_config.ini dengan menambahkan perintah berikut di baris terakhir.

    -- Aktifkan caching informasi koneksi MaxQA.
    enable_interactive_mode=true
    enable_quota_cache=true(Optional) 
  3. Jalankan file skrip di direktori bin untuk memulai client MaxCompute.

    Penting
    • Untuk sistem Linux/macOS: Jalankan file skrip odpscmd.

    • Windows: Klik dua kali file odpscmd.bat.

  4. Sebelum menjalankan pekerjaan, eksekusi perintah berikut. Pekerjaan selanjutnya dari client akan berjalan dalam mode MaxQA pada kelompok kuota interaktif yang sesuai.

    USE QUOTA <nama_kelompok_kuota_interaktif>;

Menggunakan DataWorks DataStudio

Penting

MaxQA hanya didukung di ruang kerja yang menggunakan versi baru DataStudio, yang saat ini dalam pratinjau publik. Jika Anda menggunakan versi DataStudio sebelumnya, Anda harus meningkatkan ke versi baru untuk menggunakan MaxQA. Untuk informasi lebih lanjut, lihat Aktifkan versi baru DataStudio.

  1. Login ke Konsol DataWorks dan pilih wilayah di pojok kiri atas.

  2. Pada panel navigasi kiri, pilih Data Development and O&M > Data Development.

  3. Select Workspace, lalu klik Go to Data Studio.

  4. Pada halaman Data Development, klik Run Configuration di sebelah kanan.

  5. Pada halaman Debugging Configurations, pilih resource proyek MaxCompute yang terikat dengan ruang kerja ini untuk Computing Resource. Tabel berikut menjelaskan cara memilih kuota komputasi untuk setiap skenario:

    Catatan
    • Lingkungan run: Pekerjaan dijalankan di modul analisis data atau pengembangan data. Fallback interaktif-ke-offline tidak berlaku.

    • Lingkungan run fallback: Pekerjaan dijalankan di modul penjadwalan. Jika mode interaktif ditentukan, Anda juga dapat mengonfigurasi fallback ke mode offline saat mode interaktif gagal.

    Pemilihan Kuota Komputasi

    Kuota / Aturan Routing yang Ditentukan

    Expected Run Mode

    Konfigurasi Penjadwalan dan Fallback yang Diharapkan

    Kuota default proyek

    Jika ada aturan routing offline, aturan tersebut berlaku. Aturan routing interaktif tidak berlaku.

    Kuota default proyek adalah kuota offline. Pekerjaan dijalankan pada kuota offline.

    Pekerjaan dijalankan pada kuota offline. Fallback tidak berlaku.

    Kuota yang ditentukan

    Pilih kuota offline.

    Pekerjaan dijalankan pada kuota offline.

    Pekerjaan dijalankan pada kuota offline. Fallback tidak berlaku.

    Kuota yang ditentukan

    Pilih kuota interaktif.

    Pekerjaan dijalankan pada instans MaxQA yang sesuai dengan kelompok kuota interaktif.

    Dalam Konfigurasi Penjadwalan: jika fallback dinonaktifkan, tidak ada upaya fallback; jika kuota default proyek dipilih, kuota default proyek digunakan untuk fallback (aturan routing offline tidak berlaku dalam fallback); jika kuota tertentu dipilih, kuota offline yang ditentukan digunakan untuk fallback.

    Aturan routing mode interaktif

    Hanya ada aturan routing offline. Tidak ditemukan aturan routing interaktif yang cocok.

    Terjadi error: Cannot find MCQA quota to start connection on project *****. Untuk membuatnya, lihat Menggunakan kuota untuk sumber daya komputasi.

    Jika fallback dinonaktifkan, tidak ada upaya fallback; jika kuota default proyek dipilih, kuota default proyek digunakan untuk fallback; jika kuota tertentu dipilih, kuota offline yang ditentukan digunakan untuk fallback.

    Aturan routing mode interaktif

    Ada aturan routing interaktif yang cocok.

    Pekerjaan dijalankan pada instans MaxQA yang sesuai dengan kelompok kuota interaktif.

  6. Setelah konfigurasi selesai, pekerjaan pada node SQL dijadwalkan ke instans MaxQA yang sesuai dengan kelompok kuota interaktif.

Untuk informasi lebih lanjut, lihat Buat node SQL MaxCompute di DataWorks.

Menggunakan SQL Analysis di konsol

  1. Login ke Konsol MaxCompute dan pilih wilayah di pojok kiri atas.

  2. Pada panel navigasi kiri, pilih Data Exploration > SQL Analysis.

  3. Setelah memasukkan pernyataan SQL Anda di editor SQL, klik Run Configurations di sebelah kanan untuk mengonfigurasi Project dan Computing Quota.

  4. Pilih sumber daya komputasi yang sesuai dengan kelompok kuota interaktif.

  5. Setelah konfigurasi selesai, pekerjaan pada halaman SQL Analysis dijadwalkan ke instans MaxQA yang sesuai dengan kelompok kuota interaktif.

Untuk informasi lebih lanjut, lihat SQL Analysis.

Menggunakan MaxCompute Studio

Pastikan Anda telah menginstal MaxCompute Studio dan menghubungkannya ke proyek MaxCompute Anda. Untuk menggunakan MaxQA, jalankan skrip:

  1. Instal dan konfigurasikan MaxCompute Studio versi 4.3.2 atau lebih baru. Untuk informasi lebih lanjut, lihat Instal MaxCompute Studio.

  2. Buat proyek MaxCompute Studio dan hubungkan ke proyek MaxCompute Anda. Untuk informasi lebih lanjut, lihat Kelola koneksi proyek.

  3. Buat skrip SQL MaxCompute di proyek. Untuk informasi lebih lanjut, lihat Kembangkan dan kirimkan skrip SQL.

  4. Di skrip SQL MaxCompute, masukkan pernyataan SQL. Dari daftar drop-down Execution Mode, pilih MaxQA.

  5. Klik tombol Specify additional parameters image, masukkan nama kelompok kuota interaktif, lalu klik OK.

  6. Jalankan skrip. Pekerjaan sekarang menggunakan fitur query acceleration MaxQA.

Menggunakan JDBC

Untuk mengaktifkan MaxQA saat terhubung ke MaxCompute menggunakan JDBC: Untuk informasi lebih lanjut tentang koneksi JDBC, lihat Panduan pengguna.

  1. Unduh kode sumber yang mendukung MaxQA.

  2. Konfigurasikan dependensi POM di Maven.

    <dependency>
       <groupId>com.aliyun.odps</groupId>
       <artifactId>odps-jdbc</artifactId>
       <version>${Latest Version}</version>
    </dependency>
    Penting

    Pada kode di atas, Latest Version adalah placeholder. Ganti dengan nomor versi SDK tertentu agar proyek berhasil dikompilasi. Kunjungi GitHub Releases untuk melihat semua versi odps-jdbc yang dirilis. Disarankan menggunakan versi terbaru. Format nomor versi adalah X.X.X.

  3. Buat program Java dari kode sumber, sesuaikan dengan lingkungan Anda. Untuk informasi lebih lanjut, lihat MaxCompute JDBC. Kode berikut memberikan contoh.

    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class MaxCompute {
        private static final String DRIVER_NAME = "com.aliyun.odps.jdbc.OdpsDriver";
        // ID AccessKey Akun Alibaba Cloud memiliki izin untuk memanggil semua Operasi API. Ini adalah operasi berisiko tinggi. Kami menyarankan Anda membuat dan menggunakan Pengguna RAM untuk memanggil Operasi API atau melakukan O&M rutin. Untuk membuat Pengguna RAM, login ke Konsol RAM.
        // Dalam contoh ini, ID AccessKey dan Secret AccessKey disimpan dalam Variabel lingkungan. Anda juga dapat menyimpannya dalam file konfigurasi sesuai kebutuhan bisnis Anda.
        // Kami sangat menyarankan agar Anda tidak menyematkan ID AccessKey dan Secret AccessKey secara langsung dalam kode Anda. Hal ini menimbulkan risiko keamanan.
        private static String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        private static String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        public static void main(String[] args) throws SQLException {
            try {
                Class.forName(DRIVER_NAME);
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
                System.exit(1);
            }
            Connection conn = DriverManager.getConnection(
                    "jdbc:odps:https://service.cn-hangzhou.maxcompute.aliyun.com/api?project=maxqatomax&charset=UTF-8&interactiveMode=true&quotaName=maxfor1&autoSelectLimit=1000000000",
                    MaxCompute.accessId, MaxCompute.accessKey);
            // buat tabel
            Statement stmt = conn.createStatement();
            final String tableName = "jdbc_test11";
            stmt.execute("DROP TABLE IF EXISTS " + tableName);
            stmt.execute("CREATE TABLE " + tableName + " (key BIGINT, value STRING)");
            // dapatkan metadata
            DatabaseMetaData metaData = conn.getMetaData();
            System.out.println("product = " + metaData.getDatabaseProductName());
            System.out.println("jdbc version = "
                    + metaData.getDriverMajorVersion() + ", "
                    + metaData.getDriverMinorVersion());
            ResultSet tables = metaData.getTables(null, "default", tableName, null);
            while (tables.next()) {
                String name = tables.getString("TABLE_NAME");
                System.out.println("inspecting table: " + name);
                ResultSet columns = metaData.getColumns(null, null, name, null);
                while (columns.next()) {
                    System.out.println(
                            columns.getString("COLUMN_NAME") + "\t" +
                                    columns.getString("TYPE_NAME") + "(" +
                                    columns.getInt("DATA_TYPE") + ")");
                }
                columns.close();
            }
            tables.close();
            stmt.close();
            conn.close();
        }
    }

Kode berikut menunjukkan contoh string koneksi JDBC.

// your_quota_group_name adalah nama kelompok kuota interaktif yang ingin Anda gunakan.
jdbc:odps:<MaxCompute_endpoint>?
project=<MaxCompute_project_name>&interactiveMode=true&quotaName=your_quota_group_name&enableLimit=false&enableOdpsLogger=true

Parameter

Deskripsi

MaxCompute_endpoint

Titik akhir wilayah tempat layanan MaxCompute berada. Untuk informasi lebih lanjut, lihat Endpoints.

MaxCompute_project_name

Nama proyek MaxCompute.

interactiveMode

Sakelar untuk fitur MaxQA. Atur ke true untuk mengaktifkan.

quotaName

Nama kelompok kuota interaktif yang ingin Anda gunakan.

enableLimit

Menentukan apakah diizinkan mengunduh lebih dari 10.000 baris data.

enableOdpsLogger

Mengaktifkan pencetakan log. Disarankan jika SLF4J tidak dikonfigurasi.

Menggunakan alat BI

Anda dapat terhubung ke MaxQA menggunakan alat BI seperti Tableau, Quick BI, Guandata BI, dan SQL Workbench/J.

Tableau

Tambahkan properti interactiveMode=true dan properti quotaName=your_quota_nick_name ke path URL server untuk mengaktifkan fitur MaxQA. Disarankan juga menambahkan properti enableOdpsLogger=true untuk mencetak log. Untuk langkah-langkah detail, lihat Konfigurasi JDBC untuk menggunakan Tableau.

  • Format URL:

    <MaxCompute_endpoint>?project=<MaxCompute_project_name>&charset=UTF-8&interactiveMode=true&quotaName=<your_quota_group_name>&autoSelectLimit=1000000000

    Parameter

    Wajib

    Deskripsi

    MaxCompute_endpoint

    Ya

    Titik akhir wilayah tempat layanan MaxCompute berada. Untuk informasi lebih lanjut, lihat Endpoint. Misalnya, titik akhir untuk wilayah China (Hangzhou) adalah https://service.cn-hangzhou.maxcompute.aliyun.com/api.

    MaxCompute_project_name

    Ya

    Nama proyek MaxCompute, seperti maxqatomax.

    your_quota_group_name

    Ya

    Nama kelompok kuota interaktif, seperti maxfor1.

    Pada tab General kotak dialog koneksi Alibaba MaxCompute, masukkan URL yang telah dibuat di bidang Server. Masukkan ID AccessKey Anda di bidang Username dan Secret AccessKey Anda di bidang Password. Lalu, klik Sign In.

  • Contoh URL:

    https://service.cn-hangzhou.maxcompute.aliyun.com/api?project=maxqatomax&charset=UTF-8&interactiveMode=true&quotaName=maxfor1&autoSelectLimit=1000000000

Quick BI

  1. Login ke Konsol Quick BI.

  2. Pada panel navigasi kiri, pilih Data Sources, lalu di pojok kanan atas, klik Create Data Source.

  3. Pada halaman Create data source, pilih MaxCompute.

  4. Pada halaman Configure connection, untuk Quota computing resource group, masukkan nama sumber daya komputasi Quota MaxQA untuk mengaktifkan fitur MaxQA dan menggunakan sumber daya komputasi MaxQA. Untuk informasi lebih lanjut, lihat Koneksi Quick BI ke MaxCompute.

Misalnya, pada bidang Quota Computing Resource Group, masukkan maxqa (nama Quota MaxQA).

Guandata BI

  1. Tambahkan driver.

    Unggah MaxCompute JDBC Driver versi 3.8.5 atau lebih baru ke Guandata BI. Untuk informasi lebih lanjut, lihat MaxCompute JDBC dan Catatan Rilis.

    1. Di pojok kanan atas Konsol Guandata BI, klik ikon image untuk membuka Management Center.

    2. Klik System Settings > General Settings lalu buka halaman Drivers and Connectors.

    3. Pada tab Driver Management, klik Add Driver, masukkan Driver Name, lalu simpan konfigurasi.

    4. Klik nama driver baru tersebut. Di bagian Driver List, klik Upload File untuk mengunggah driver JDBC MaxCompute. Lalu, pilih com.aliyun.odps.jdbc.OdpsDriver untuk Driver dan klik Apply.

  2. Buat akun data untuk terhubung ke sumber data MaxCompute menggunakan MaxQA.

    1. Pada bilah menu atas, klik Data Preparation.

    2. Pada panel kiri, klik tab Data Account. Di pojok kanan atas, klik New Data Account dan konfigurasikan akun sesuai petunjuk.

      Parameter

      Deskripsi

      Select connector

      Pilih MaxCompute.

      Configure data account

      Connection method

      Pilih JDBC URL.

      Logon ID

      ID AccessKey Akun Alibaba Cloud Anda.

      Logon Key

      Secret AccessKey Akun Alibaba Cloud Anda.

      JDBC URL

      Format URL untuk string koneksi JDBC MaxQA adalah sebagai berikut: jdbc:odps:<maxcompute_endpoint>?project=<maxcompute_projectName>&charset=UTF-8&interactiveMode=true&quotaName=<your_quota_nickName>&autoSelectLimit=1000000000.

      Tabel berikut menjelaskan parameter-parameter tersebut.

      • maxcompute_endpoint: Titik akhir wilayah tempat layanan MaxCompute berada. Untuk informasi lebih lanjut, lihat Endpoint. Misalnya, titik akhir untuk wilayah China (Hangzhou) adalah https://service.cn-hangzhou.maxcompute.aliyun.com/api.

      • maxcompute_projectName: Nama proyek MaxCompute, seperti maxqatomax.

      • your_quota_nickName: Nama kelompok kuota interaktif yang akan digunakan, seperti maxfor1. Untuk informasi tentang cara membuat kelompok kuota interaktif, lihat Sumber daya komputasi - Manajemen kuota.

      Contoh:

      jdbc:odps:https://service.cn-hangzhou.maxcompute.aliyun.com/api?project=maxqatomax&charset=UTF-8&interactiveMode=true&quotaName=maxfor1&autoSelectLimit=1000000000

      SQL version

      Pilih 2.0/hive compatibility mode.

      Maximum connections

      Nilai default adalah 16.

      driver

      Pilih Custom lalu pilih driver yang telah Anda buat.

    3. Klik Test Connection. Setelah muncul pesan Connection Successful, klik Next.

    4. Konfirmasi informasi akun data, masukkan Display Name kustom, lalu klik Confirm and Create.

SQL Workbench/J

Dalam konfigurasi profil, modifikasi URL JDBC untuk mengaktifkan MaxQA di SQL Workbench/J. Untuk informasi lebih lanjut, lihat Konfigurasi SQL Workbench/J menggunakan JDBC.

  • Format URL:

    jdbc:odps:<MaxCompute_endpoint>?
    project=<MaxCompute_project_name>&charset=UTF-8&interactiveMode=true&quotaName=<your_quota_group_name>&autoSelectLimit=1000000000

    Parameter

    Wajib

    Deskripsi

    MaxCompute_endpoint

    Ya

    Titik akhir wilayah layanan MaxCompute. Untuk informasi lebih lanjut, lihat Endpoint. Misalnya, untuk wilayah China (Hangzhou), titik akhirnya adalah https://service.cn-hangzhou.maxcompute.aliyun.com/api.

    MaxCompute_project_name

    Ya

    Nama proyek MaxCompute, seperti maxqatomax.

    your_quota_group_name

    Ya

    Nama kelompok kuota interaktif yang ingin Anda gunakan, seperti maxfor1.

  • Contoh URL:

    jdbc:odps:https://service.cn-hangzhou.maxcompute.aliyun.com/api?project=maxqatomax&charset=UTF-8&interactiveMode=true&quotaName=maxfor1&autoSelectLimit=1000000000

Menggunakan Java SDK

Untuk informasi lebih lanjut tentang Java SDK, lihat Pengenalan Java SDK.

  1. Konfigurasikan dependensi POM di Maven. Kode berikut menunjukkan contohnya.

    <dependency>
      <groupId>com.aliyun.odps</groupId>
      <artifactId>odps-sdk-core</artifactId>
      <version>${Latest Version}</version>
    </dependency>
    Penting

    Pada kode di atas, Latest Version adalah placeholder. Anda harus menggantinya dengan nomor versi SDK tertentu agar proyek berhasil dikompilasi. Kunjungi GitHub Releases untuk melihat semua versi odps-sdk-core yang dirilis. Disarankan menggunakan versi terbaru. Format nomor versi adalah X.X.X-public.

  2. Buat program Java. Kode berikut memberikan contohnya.

    import com.aliyun.odps.Odps;
    import com.aliyun.odps.OdpsException;
    import com.aliyun.odps.account.Account;
    import com.aliyun.odps.account.AliyunAccount;
    import com.aliyun.odps.sqa.ExecuteMode;
    import com.aliyun.odps.sqa.SQLExecutor;
    import com.aliyun.odps.sqa.SQLExecutorBuilder;
    import java.util.HashMap;
    import java.util.Map;
    public class MaxCompute {
        public static void main(String args[]) {
            // Atur informasi akun dan proyek.
            // ID AccessKey Akun Alibaba Cloud memiliki izin untuk memanggil semua Operasi API. Ini adalah operasi berisiko tinggi. Kami menyarankan Anda membuat dan menggunakan Pengguna RAM untuk memanggil Operasi API atau melakukan O&M rutin. Untuk membuat Pengguna RAM, login ke Konsol RAM.
            // Dalam contoh ini, ID AccessKey dan Secret AccessKey disimpan dalam Variabel lingkungan. Anda juga dapat menyimpannya dalam file konfigurasi sesuai kebutuhan bisnis Anda.
            // Kami sangat menyarankan agar Anda tidak menyematkan ID AccessKey dan Secret AccessKey secara langsung dalam kode Anda. Hal ini menimbulkan risiko keamanan.
            Account account = new AliyunAccount(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
                            System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
            Odps odps = new Odps(account);
            odps.setDefaultProject("maxqatomax");
            odps.setEndpoint("https://service.cn-hangzhou.maxcompute.aliyun.com/api");
            // Siapkan untuk membangun SQLExecutor.
            SQLExecutorBuilder builder = SQLExecutorBuilder.builder();
            SQLExecutor sqlExecutor = null;
            try {
                // Buat pelaksana yang menggunakan mode MaxQA secara default.
                // enableMcqaV2(true) mengaktifkan mode MaxQA
                sqlExecutor = builder.odps(odps)
                        .executeMode(ExecuteMode.INTERACTIVE)
                        .quotaName("maxfor1")
                        .enableMcqaV2(true)
                        .build();
                // Jika diperlukan, Anda dapat meneruskan pengaturan kustom untuk kueri.
                Map<String, String> queryHint = new HashMap<>();
                queryHint.put("odps.sql.mapper.split.size", "128");
                // Kirim pekerjaan kueri. Anda dapat meneruskan petunjuk.
                sqlExecutor.run("select count(1) from test_table;", queryHint);
                // Logview dari pekerjaan kueri saat ini.
                System.out.println("Logview:" + sqlExecutor.getLogView());
                // ID instans dari pekerjaan kueri saat ini.
                System.out.println("InstanceId:" + sqlExecutor.getQueryId());
            } catch (OdpsException e) {
                e.printStackTrace();
            } finally {
                if (sqlExecutor != null) {
                    // Tutup pelaksana untuk melepaskan sumber daya.
                    sqlExecutor.close();
                }
            }
        }
    }

Menggunakan PyODPS

PyODPS versi 0.12.1 dan lebih baru mendukung MaxQA. Kode berikut menunjukkan contohnya.

import os
from odps import ODPS
# Atur informasi akun dan proyek.
# Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET 
# diatur ke ID AccessKey dan Secret AccessKey Anda.
# Kami tidak menyarankan Anda menggunakan string ID AccessKey dan Secret AccessKey secara langsung.
o = ODPS(
    os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
    os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
    project='maxto****',
    endpoint='https://service.cn-hangzhou.maxcompute.aliyun.com/api',
)
# Jika diperlukan, Anda dapat meneruskan pengaturan kustom untuk kueri.
hints = {"odps.sql.mapper.split.size": "128"}
inst = o.execute_sql_interactive(
    'select count(1) from test_table',
    use_mcqa_v2=True,
    quota_name='maxfor1',
    # Atur quota_name ke nama kelompok kuota interaktif untuk instans MaxQA.
    hints=hints,
)
# Logview dari pekerjaan kueri saat ini.
print(inst.get_logview_address())
# ID instans dari pekerjaan kueri saat ini.
print(inst.id)
# Baca data baris per baris.
with inst.open_reader() as reader:
    result = [res.values for res in reader]

Menggunakan PyODPS dengan SQLAlchemy atau alat pihak ketiga lain yang mendukung SQLAlchemy untuk query acceleration

PyODPS versi 0.12.2 dan lebih baru mendukung kueri data MaxCompute melalui MaxQA menggunakan SQLAlchemy. Tentukan parameter berikut dalam string koneksi.

Parameter

Wajib

Deskripsi

interactive_mode=v2

Ya

Sakelar utama untuk fitur query acceleration.

quota_name=<YOUR_INTERACTIVE_QUOTA_GROUP_NAME>

Ya

Nama kelompok kuota interaktif.

reuse_odps=true

Tidak

Mengaktifkan pemakaian ulang koneksi paksa. Untuk beberapa alat pihak ketiga, seperti Apache Superset, opsi ini dapat meningkatkan kinerja.

Misalnya, string koneksi berikut mengaktifkan MaxQA dan pemakaian ulang koneksi paksa.

odps://<access_id>:<ACCESS_KEY>@<project>/?endpoint=<endpoint>&quota_name=<YOUR_INTERACTIVE_QUOTA_GROUP_NAME>&interactive_mode=v2&reuse_odps=true

Verifikasi apakah pekerjaan menggunakan mode MaxQA

Dari halaman Logview

Setelah pekerjaan selesai, buka halaman Logview-nya untuk memverifikasi bahwa pekerjaan tersebut dijalankan dalam mode MaxQA. Periksa hal berikut:

  • InstanceId MaxCompute diakhiri dengan _mcqa.

  • Nickname kuota adalah nama kuota interaktif yang ditentukan.

  • Pada tab Summary, mode run pekerjaan adalah mcqa 2.0.

Dari halaman Job O&M

  1. Login ke Konsol MaxCompute dan pilih wilayah di pojok kiri atas.

  2. Pada panel navigasi kiri, pilih Observation O&M > Jobs.

  3. Pada halaman Jobs, klik tab Regular Job List dan atur Job Type ke MCQA2 untuk melihat pekerjaan MaxQA dalam Time Range tertentu.