全部产品
Search
文档中心

MaxCompute:Panduan pengguna untuk MaxCompute Query Accelerator (MaxQA)

更新时间:Dec 05, 2025

Mesin MaxCompute Query Accelerator (MaxQA) mengoptimalkan kinerja kueri dalam skenario near-real-time. MaxQA berjalan di kolam sumber daya komputasi kueri khusus dan mengoptimalkan tautan kontrol, pengoptimal kueri, mesin eksekusi, mesin penyimpanan, serta mekanisme cache. Fitur ini ideal untuk layanan yang memerlukan latensi rendah dan stabilitas tinggi, seperti skenario business intelligence (BI), analisis interaktif, dan gudang data near-real-time. Topik ini menjelaskan cara menggunakan mesin MaxQA.

Informasi peluncuran server

Tanggal peluncuran resmi berdasarkan wilayah

Wilayah

Tanggal peluncuran pratinjau publik

Tanggal peluncuran resmi

Cina (Hangzhou)

17 Februari 2025

24 November 2025

Cina (Shanghai)

Cina (Beijing)

Cina (Shenzhen)

Cina (Ulanqab)

Cina (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 yang baru dibuat secara default menggunakan mode MaxQA. Layanan MCQA yang sudah ada tidak terpengaruh.

Operasi dasar untuk MaxQA

Buat instans MaxQA

MaxQA hanya tersedia untuk proyek MaxCompute berlangganan. Untuk membuat instans MaxQA, ikuti langkah-langkah berikut:

  1. Masuk ke Konsol MaxCompute, lalu pilih wilayah di pojok kiri atas.

  2. Di panel navigasi sebelah kiri, pilih Manage Configurations > Quotas.

  3. Di halaman Quotas, temukan kuota target, lalu klik Quota Configuration pada kolom Actions.

  4. Konfigurasi Dasar

    1. Di halaman Quota Configuration, klik tab Basic Configurations, lalu klik Edit Basic Configurations.

    2. Klik Add Level-2 Quota, masukkan Quota Name, dan atur Type menjadi Interactive.

      • Saat menggunakan MaxQA, Anda harus menentukan Quota Name. Disarankan menggunakan nama yang terkait dengan bisnis agar mudah membedakan antar beberapa instans.

      • Kuota Interactive dikhususkan untuk menjalankan pekerjaan query acceleration (MCQA).

  5. Klik OK.

Setelah instans dibuat, status kelompok kuota interaktif berubah menjadi Starting. Proses ini memerlukan waktu 5 hingga 8 menit. Anda dapat menggunakan instans tersebut setelah statusnya berubah menjadi Running.

Hapus instance MaxQA

  1. Di halaman Quotas, temukan kuota target lalu klik Quota Configuration pada kolom Actions.

  2. Di halaman Quota Configuration, klik tab Basic Configurations, lalu temukan kuota interaktif target dan klik Delete pada kolom Actions.

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. Untuk melakukannya, ikuti langkah-langkah berikut:

  1. Di halaman Quotas, temukan kuota target lalu klik Quota Configuration pada kolom Actions.

  2. Di halaman Quota Configuration, klik tab Basic Configurations, lalu klik Edit Basic Configurations.

  3. Klik Add Level-2 Quota dan sesuaikan nilai Reserved CUs [minCU,maxCU] untuk kelompok kuota interaktif yang ingin diskalakan. Menambah nilai akan melakukan scale-out, sedangkan mengurangi nilai akan melakukan scale-in.

    Catatan
    • Ukuran langkah minimum untuk CU adalah 25.

    • Jumlah minimum CU harus 25 atau lebih besar. Jika Anda tidak memerlukan sumber daya interaktif, atur nilainya menjadi 0 atau hapus kelompok kuota tersebut.

    • Elastically Reserved CUs tidak didukung untuk kuota interaktif.

  4. Klik OK.

    CU yang dipesan untuk kelompok kuota interaktif telah disesuaikan.

Kolom Actions untuk kelompok kuota interaktif akan menampilkan Scaling Out atau Scaling In. Scale-out memerlukan waktu sekitar 5 hingga 8 menit. Scale-in mungkin memerlukan waktu lebih lama karena bergantung pada kapan pekerjaan yang sedang berjalan selesai. Dalam skenario terburuk, sistem mungkin menunggu pekerjaan mencapai timeout untuk memastikan semua pekerjaan pada mesin yang diskalakan telah selesai sebelum operasi scale-in dimulai. Operasi penskalaan tidak memengaruhi pekerjaan yang sedang berjalan.

Konfigurasikan aturan penskalaan berbasis waktu untuk MaxQA

Anda dapat mengonfigurasi rencana penskalaan berbasis waktu untuk menjadwalkan operasi penskalaan. Untuk melakukannya, ikuti langkah-langkah berikut:

  1. Di halaman Quotas, temukan kuota target lalu klik Quota Configuration pada kolom Actions.

  2. Di halaman Quota Configuration, klik tab Scaling Configuration.

  3. Konfigurasi konfigurasi penskalaan berbasis waktu

    1. Di tab Scaling Configuration, klik Add Configuration Plan. Di 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:

      Di tab Scaling Configuration, temukan rencana konfigurasi target lalu klik Edit pada kolom Actions untuk memperbaruinya.

  4. Konfigurasi rencana berbasis waktu

    1. Di tab Scaling Configuration, klik Edit Time Plan di area Scheduled Scaling Management.

    2. Klik Add Effective Period dan pilih Effective Start Time dan Configuration Plan.

      Anda dapat mengatur rencana konfigurasi kuota berbeda agar berlaku pada waktu berbeda dalam sehari untuk mengelola konfigurasi kuota berdasarkan waktu. Untuk informasi selengkapnya, lihat Quota management for compute resources.

Kebijakan penjadwalan

Saat mengirimkan pekerjaan, Anda harus secara eksplisit menentukan nama kelompok kuota interaktif di client atau string koneksi Java Database Connectivity (JDBC). Pekerjaan tersebut kemudian dijadwalkan ke instans MaxQA yang sesuai.

Kebijakan Backoff

MaxQA tidak mendukung kebijakan backoff otomatis. Jika pekerjaan MaxQA gagal karena batasan atau alasan lain, Anda harus mengirim ulang atau mengirimkannya ke kelompok kuota pemrosesan batch.

Metode koneksi

Anda dapat menghubungkan ke MaxQA dengan cara berikut:

Aktifkan MaxQA menggunakan klien MaxCompute

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

  2. (Opsional) Di direktori conf pada path instalasi client, buka file odps_config.ini dan tambahkan perintah berikut di akhir file.

    -- Enables the MaxQA connection information cache.
    enable_quota_cache=true
  3. Di direktori bin pada path instalasi, jalankan file skrip untuk memulai client MaxCompute.

    Penting
    • Untuk Linux atau macOS, jalankan file skrip odpscmd.

    • Untuk Windows, klik dua kali file odpscmd.bat.

  4. Eksekusi perintah berikut sebelum menjalankan pekerjaan. Pekerjaan selanjutnya yang dikirimkan oleh client akan menggunakan mode MaxQA dan berjalan di instans MaxQA yang sesuai dengan kelompok kuota interaktif.

    USE QUOTA <name_of_the_interactive_quota_group>;

    Anda juga dapat menentukan instans MaxQA untuk pekerjaan saat ini pada tingkat sesi.

    SET odps.task.wlm.quota=<name_of_the_interactive_quota_group>;

Aktifkan MaxQA untuk pengembangan data di DataWorks

Penting

MaxQA hanya didukung di ruang kerja yang berada dalam pratinjau publik untuk versi baru Data Development. Jika Anda menggunakan versi lama, Anda harus meningkatkan ke versi baru untuk menggunakan MaxQA. Untuk informasi selengkapnya, lihat Enable the new version of DataStudio.

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

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

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

  4. Di halaman Pengembangan Data, klik Debugging Configurations di sebelah kanan.

  5. Di halaman Debugging Configurations, pada bagian Computing Resource, pilih proyek MaxCompute yang terlampir, lalu pada bagian Computing Quota, pilih kelompok konfigurasi interaktif.

  6. Setelah konfigurasi selesai, pekerjaan yang dijalankan oleh node SQL dijadwalkan ke instans MaxQA dari kelompok kuota interaktif.

image

Untuk informasi prosedur selengkapnya, lihat Create a MaxCompute SQL node in DataWorks.

Aktifkan MaxQA untuk SQL Analysis di Konsol MaxCompute

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

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

  3. Setelah memasukkan pernyataan SQL 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 yang dijalankan di halaman SQL Analysis dijadwalkan ke instans MaxQA dari kelompok kuota interaktif.

Untuk informasi prosedur selengkapnya, lihat SQL Analysis.

Gunakan MaxQA di MaxCompute Studio

Pastikan Anda telah menginstal MaxCompute Studio dan menghubungkannya ke proyek MaxCompute Anda. Anda kemudian dapat menjalankan skrip di MaxCompute Studio untuk menggunakan MaxQA. Untuk melakukannya, ikuti langkah-langkah berikut:

  1. Instal dan konfigurasikan MaxCompute Studio 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 selengkapnya, lihat Manage project connections.

  3. Buat skrip SQL MaxCompute di proyek tersebut. Untuk informasi selengkapnya, lihat Develop and submit SQL scripts.

  4. Masukkan pernyataan skrip SQL di skrip SQL MaxCompute. Dari daftar drop-down mode eksekusi, pilih MaxQA.

  5. Klik ikon tentukan parameter tambahan image, masukkan nama kuota MaxQA, lalu klik OK.

  6. Jalankan skrip tersebut. Pekerjaan tersebut kemudian menggunakan fitur akselerasi kueri MaxQA.

Aktifkan MaxQA menggunakan JDBC

Saat menggunakan JDBC untuk menghubungkan ke MaxCompute, Anda dapat mengaktifkan MaxQA dengan mengikuti langkah-langkah berikut. Untuk informasi selengkapnya tentang cara menggunakan JDBC untuk menghubungkan ke MaxCompute, lihat Instructions.

  1. Unduh kode sumber yang mendukung MaxQA dan dapat dikompilasi.

  2. Konfigurasikan dependensi Pom di Maven.

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

    Latest Version dalam kode di atas adalah placeholder. Anda harus menggantinya dengan nomor versi SDK tertentu untuk mengompilasi proyek. Untuk melihat semua versi rilis odps-jdbc, kunjungi Maven Central Repository. Kami menyarankan Anda menggunakan versi terbaru. Format nomor versi adalah X.X.X.

  3. Buat program Java berdasarkan kode sumber dan sesuaikan informasinya sesuai kebutuhan. Untuk informasi selengkapnya, lihat MaxCompute JDBC. Berikut adalah contohnya.

    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";
        // An Alibaba Cloud account AccessKey has full permissions on all APIs and poses a high security risk. We strongly recommend that you create and use a RAM user to make API calls or perform O&M. To create a RAM user, log on to the RAM console.
        // This example shows how to save the AccessKey ID and AccessKey secret to environment variables. You can also save them to a configuration file as needed.
        // We strongly recommend that you do not save the AccessKey ID and AccessKey secret in your code to avoid key leakage.
        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);
    
            // Create a table.
            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)");
    
            // Get 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 memberikan contoh konfigurasi string koneksi JDBC.

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

Parameter

Deskripsi

MaxCompute_endpoint

Endpoint wilayah tempat layanan MaxCompute berada. Untuk informasi selengkapnya, lihat Endpoint.

MaxCompute_project_name

Nama proyek MaxCompute.

interactiveMode

Saklar untuk fitur MaxQA. Atur ke true untuk mengaktifkan MaxQA.

quotaName

Nama kelompok kuota interaktif yang ingin Anda gunakan.

enableLimit

Memungkinkan Anda mengunduh lebih dari 10.000 baris data.

enableOdpsLogger

Digunakan untuk pencetakan log. Jika SLF4J tidak dikonfigurasi, kami menyarankan Anda mengatur parameter ini ke True.

Koneksi ke MaxQA menggunakan alat analisis BI

Anda dapat menghubungkan ke MaxQA menggunakan Tableau, Quick BI, Guanyuan BI, SQLWorkBench, . Prosedurnya sebagai berikut.

Hubungkan ke MaxQA dari Tableau

Untuk mengaktifkan MaxQA, tambahkan properti interactiveMode=true dan quotaName=your_quota_nick_name ke path URL server. Kami juga menyarankan Anda menambahkan properti enableOdpsLogger=true untuk mengaktifkan pencetakan log. Untuk informasi prosedur selengkapnya, lihat Configure JDBC to use Tableau.

  • Format URL:

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

    Parameter

    Diperlukan

    Deskripsi

    MaxCompute_endpoint

    Ya

    Endpoint wilayah tempat layanan MaxCompute berada. Untuk informasi selengkapnya, lihat Endpoint. Contoh untuk wilayah China (Hangzhou): https://service.cn-hangzhou.maxcompute.aliyun.com/api.

    MaxCompute_project_name

    Ya

    Nama proyek MaxCompute, seperti maxqatomax.

    your_quota_nick_name

    Ya

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

    data5

  • Contoh URL:

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

Hubungkan ke MaxQA dari Quick BI

  1. Login ke Konsol Quick BI.

  2. Di panel navigasi sebelah kiri, pilih Data Sources, lalu klik Create data source di pojok kanan atas.

  3. Di halaman Create data source, pilih MaxCompute.

  4. Di halaman Configure connection, pada bidang Quota calculation resource group, masukkan nama sumber daya komputasi kuota MaxQA. Ini mengaktifkan fitur MaxQA dan memungkinkan Anda menggunakan sumber daya komputasi MaxQA. Untuk informasi selengkapnya, lihat Connect Quick BI to MaxCompute.

Gambar berikut memberikan contohnya. Dalam contoh ini, maxqa adalah nama kuota MaxQA:

image

Hubungkan ke MaxQA dari Guanyuan BI

  1. Tambahkan driver.

    Unggah MaxCompute JDBC Driver V3.8.5 atau lebih baru ke Guanyuan BI. Untuk informasi lebih lanjut, lihat MaxCompute JDBC dan Release Note.

    1. Di pojok kanan atas halaman Guanyuan BI, klik ikon image untuk menuju ke Management Center.

    2. Klik System Settings > General Settings dan beralih ke halaman Drivers and Connectors.

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

    4. Klik nama driver baru tersebut. Di tab Driver List, klik Upload File untuk mengunggah driver JDBC MaxCompute. Lalu, pilih com.aliyun.odps.jdbc.OdpsDriver dari daftar drop-down Driver dan klik Apply.

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

    1. Di bilah menu atas, klik Data Preparation.

    2. Di panel navigasi sebelah kiri, klik tab Data Account. Di pojok kanan atas, klik New Data Account dan konfigurasikan informasi 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

      Rahasia AccessKey akun Alibaba Cloud Anda.

      JDBC URL

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

      Deskripsi parameter:

      • maxcompute_endpoint: Endpoint wilayah tempat layanan MaxCompute berada. Untuk informasi selengkapnya, lihat Endpoint. Contoh untuk wilayah China (Hangzhou): https://service.cn-hangzhou.maxcompute.aliyun.com/api.

      • maxcompute_projectName: Nama proyek MaxCompute, seperti maxqatomax.

      • your_quota_nickName: Nama kelompok kuota interaktif yang ingin Anda gunakan, seperti maxfor1. Untuk informasi selengkapnya tentang cara membuat kelompok kuota interaktif, lihat Quota management for compute resources.

      Berikut adalah contoh URL:

      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 compatible mode.

      Maximum connections

      Nilai default-nya adalah 16.

      Driver

      Pilih Custom lalu pilih driver yang telah Anda buat.

    3. Klik Test Connection. Jika koneksi berhasil, klik Next.

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

Hubungkan ke MaxQA dari SQLWorkBench

Di halaman konfigurasi Profil, modifikasi URL JDBC untuk mengaktifkan SQLWorkbench menggunakan MaxQA. Untuk informasi selengkapnya, lihat Configure JDBC to use SQL Workbench/J.

  • Format URL:

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

    Parameter

    Diperlukan

    Deskripsi

    MaxCompute_endpoint

    Ya

    Endpoint wilayah tempat layanan MaxCompute berada. Untuk informasi selengkapnya, lihat Endpoint. Contoh untuk wilayah China (Hangzhou): https://service.cn-hangzhou.maxcompute.aliyun.com/api.

    MaxCompute_project_name

    Ya

    Nama proyek MaxCompute, seperti maxqatomax.

    your_quota_nick_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

Aktifkan MaxQA menggunakan Java SDK

Untuk informasi selengkapnya tentang Java SDK, lihat Java SDK overview.

  1. Konfigurasikan dependensi Pom di Maven. Berikut adalah contoh konfigurasinya.

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

    Latest Version dalam kode di atas adalah placeholder. Anda harus menggantinya dengan nomor versi SDK tertentu untuk mengompilasi proyek. Untuk melihat semua versi rilis odps-sdk-core, kunjungi Maven Central Repository. Kami menyarankan Anda menggunakan versi terbaru. Format nomor versi adalah X.X.X-public.

  2. Buat program Java. Kode berikut memberikan contoh perintahnya.

    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[]) {
            // Set the account and project information.
            // An Alibaba Cloud account AccessKey has full permissions on all APIs and poses a high security risk. We strongly recommend that you create and use a RAM user to make API calls or perform O&M. To create a RAM user, log on to the RAM console.
            // This example shows how to save the AccessKey ID and AccessKey secret to environment variables. You can also save them to a configuration file as needed.
            // We strongly recommend that you do not save the AccessKey ID and AccessKey secret in your code to avoid key leakage.
            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");
            // Prepare to build the SQLExecutor.
            SQLExecutorBuilder builder = SQLExecutorBuilder.builder();
    
            SQLExecutor sqlExecutor = null;
            try {
                // Create an executor that uses MCQA 2.0 mode by default.
                sqlExecutor = builder.odps(odps)
                        .executeMode(ExecuteMode.INTERACTIVE)
                        .quotaName("maxfor1")
                        .enableMcqaV2(true)
                        .build();
                // If needed, you can pass in special settings for the query.
                Map<String, String> queryHint = new HashMap<>();
                queryHint.put("odps.sql.mapper.split.size", "128");
                // Submit a query job. Hints are supported.
                sqlExecutor.run("select count(1) from test_table;", queryHint);
                // The logview of the current query job.
                System.out.println("Logview:" + sqlExecutor.getLogView());
                // The InstanceId of the current query job.
                System.out.println("InstanceId:" + sqlExecutor.getQueryId());
            } catch (OdpsException e) {
                e.printStackTrace();
            } finally {
                if (sqlExecutor != null) {
                    // Close the executor to release resources.
                    sqlExecutor.close();
                }
            }
        }
    }

Gunakan MaxQA di PyODPS

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

import os
from odps import ODPS

# Set the account and project information.
# Make sure that the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is set to your AccessKey ID,
# and the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is set to your AccessKey secret.
# We do not recommend that you use the AccessKey ID and AccessKey secret strings directly.
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',
)

# If needed, you can pass in special settings for the query.
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',
    # Set quota_name to the name of the interactive quota group that corresponds to the MaxQA instance.
    hints=hints,
)

# The logview of the current query job.
print(inst.get_logview_address())

# The InstanceId of the current query job.
print(inst.id)

# Read data row by row.
with inst.open_reader() as reader:
    result = [res.values for res in reader]

Gunakan SQLAlchemy atau alat pihak ketiga lain yang mendukung antarmuka SQLAlchemy di PyODPS untuk mempercepat kueri

Mulai dari PyODPS 0.12.2, Anda dapat menggunakan SQLAlchemy untuk mengkueri data MaxCompute melalui MaxQA. Anda harus menentukan parameter berikut dalam string koneksi.

Parameter

Diperlukan

Deskripsi

interactive_mode=v2

Ya

Saklar utama untuk fitur akselerasi kueri.

quota_name=<YOUR_INTERACTIVE_QUOTA_NICKNAME>

Ya

Nama kuota interaktif.

reuse_odps=true

Tidak

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

Sebagai contoh, string koneksi berikut mengaktifkan MaxQA dan memaksa reuse koneksi.

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

Konfirmasi apakah pekerjaan menggunakan mode MaxQA

Periksa Logview

Setelah pekerjaan selesai, buka halaman Logview. Anda dapat memeriksa tiga hal berikut untuk memastikan pekerjaan menggunakan mode MaxQA.

  • Periksa apakah InstanceId MaxCompute diakhiri dengan _mcqa.

  • Periksa apakah Quota Nickname sesuai dengan nama kuota interaktif yang ditentukan.

  • Di tab Summary, periksa apakah Job run mode-nya mcqa 2.0.

hh1

Periksa halaman observabilitas di konsol

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

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

  3. Di halaman Jobs, klik tab Regular Job List. Atur Job Type menjadi MCQA2 untuk melihat pekerjaan MaxQA dalam Time Range yang ditentukan.