MaxQA (MaxCompute Query Accelerator) motoru, neredeyse gerçek zamanlı senaryolar için sorgu performansını optimize eder. Özel bir sorgu hesaplama kaynak havuzunda çalışır ve kontrol düzlemi, sorgu iyileştiricisi, yürütme motoru, depolama motoru ile önbellekleme mekanizmasını optimize eder. MaxQA; düşük gecikme süresi ve yüksek kararlılık gerektiren BI senaryoları, etkileşimli analizler ve neredeyse gerçek zamanlı veri ambarları için idealdir.
Hizmet Kullanılabilirliği
Bölge bazında kullanılabilirlik zaman çizelgesi
Bölge | Genel beta | Genel kullanım |
Çin (Hangzhou) | 17 Şubat 2025 | 24 Kasım 2025 |
Çin (Şanghay) | ||
Çin (Pekin) | ||
Çin (Shenzhen) | ||
Çin (Ulanqab) | ||
Çin (Hong Kong) | 5 Mart 2025 | 27 Kasım 2025 |
Japonya (Tokyo) | 5 Mart 2025 | |
Singapur | 20 Mart 2025 | |
Endonezya (Cakarta) | ||
Almanya (Frankfurt) | 31 Mart 2025 | |
ABD (Silikon Vadisi) | ||
ABD (Virginia) |
Notlar
Yeni oluşturulan etkileşimli kota grupları varsayılan olarak MaxQA modunda gelir. Mevcut MaxQA yapılandırmaları bundan etkilenmez.
Temel MaxQA işlemleri
MaxQA örneği oluşturma
MaxQA yalnızca abonelik faturalama yöntemini kullanan MaxCompute projeleri için kullanılabilir. Bir MaxQA örneği oluşturmak için:
MaxCompute konsolu üzerinde oturum açın ve sol üst köşeden bir bölge seçin.
Sol gezinme bölmesinde yolunu izleyin.
Quotas sayfasında, hedef kotasının Actions sütununda bulunan Quota Configuration seçeneğine tıklayın.
-
Temel yapılandırma
Quota Configuration sayfasında Basic Configurations sekmesini seçin ve Edit Basic Configurations öğesine tıklayın.
-
Add Level-2 Quota seçeneğine tıklayın, bir Quota Name girin ve Type alanında Interactive değerini seçin.
MaxQA kullanırken bir Quota Name belirtmeniz gerekir. Birden fazla örneği ayırt etmek için iş niteliklerinizle ilişkili bir ad kullanmanızı öneririz.
Interactive kotaları, yalnızca sorgu hızlandırma (MaxQA) işlerini çalıştırmak için ayrılmıştır.
OK seçeneğine tıklayın.
Örneği oluşturduktan sonra ilgili etkileşimli kota grubunun durumu Starting olarak değişir. Durumun Running haline gelmesi için 5 ila 8 dakika bekleyin. Bu süre sonunda örneği kullanmaya başlayabilirsiniz.
MaxQA örneğini silme
Quotas sayfasında, hedef kotasının Actions sütununda bulunan Quota Configuration seçeneğine tıklayın.
Quota Configuration sayfasında Basic Configurations sekmesini seçin. Ardından hedef etkileşimli kotasının Actions sütununda bulunan Delete seçeneğine tıklayın.
Silme işlemi arka planda yürütülür. Sayfada durum güncellemeleri veya silme ilerlemesi görüntülenmez.
MaxQA örneğini ölçeklendirme
İş ihtiyaçlarınıza göre bir etkileşimli kota grubunu yatay olarak genişletebilir veya daraltabilirsiniz:
Quotas sayfasında, hedef kotasının Actions sütununda bulunan Quota Configuration seçeneğine tıklayın.
Quota Configuration sayfasında Basic Configurations sekmesini seçin ve Edit Basic Configurations seçeneğine tıklayın.
-
Add Level-2 Quota seçeneğine tıklayın ve ölçeğini değiştirmek istediğiniz etkileşimli kota grubunun Reserved CUs [minCU,maxCU] değerini ayarlayın. Daha büyük bir değer ölçek büyütme, daha küçük bir değer ise ölçek küçültme anlamına gelir.
NotCU'lar için minimum artış miktarı 25'tir.
Minimum CU değeri en az 25 olmalıdır. Kararlılık açısından minimum CU değerini 50 veya üzeri ayarlamanız önerilir. Etkileşimli kaynaklara ihtiyaç duyulmuyorsa değeri 0 olarak ayarlayın veya kota grubunu silin.
-
Etkileşimli kota sınırlamaları:
Etkileşimli kotalar için Elastically Reserved CUs desteklenmez.
Sorgu hızlandırmanın performansını ve kararlılığını sağlamak için etkileşimli bir kotada minimum CU değerini maksimum CU değerine eşit olarak ayarlayın.
-
OK seçeneğine tıklayın.
Etkileşimli kota grubu için ayrılmış CU'ların ayarlanması başlatılır.
Etkileşimli kota grubu için Actions sütununda Scaling Out veya Scaling In durumu görünür. Ölçek büyütme işlemi yaklaşık 5 ila 8 dakika sürer. Ölçek küçültme işlemi ise çalışan işlerin tamamlanma durumuna bağlı olarak daha uzun sürebilir. En kötü durumda sistem, kaldırılan makinelerdeki işlerin zaman aşımına uğramasını beklemek zorunda kalabilir ve ölçek küçültme işlemi ancak bu süreçten sonra başlar. Ölçeklendirme işlemleri sırasında mevcut işleriniz etkilenmez.
MaxQA için zamana dayalı ölçeklendirmeyi yapılandırma
Zamanlanmış ölçeklendirme için bir zamana dayalı ölçeklendirme planı yapılandırabilirsiniz:
Quotas sayfasında, hedef kotasının Actions sütununda bulunan Quota Configuration seçeneğine tıklayın.
Quota Configuration sayfasında Scaling Configuration sekmesini seçin.
-
Zamana dayalı ölçeklendirme planı yapılandırma
Scaling Configuration sekmesinde Add Configuration Plan seçeneğine tıklayın. Açılan Add Configuration Plan iletişim kutusunda bir Configuration Plan Name girin ve ikinci seviye kota için Reserved CUs [minCU,maxCU] değerlerini yapılandırın.
-
Mevcut bir yapılandırma planını değiştirmek için:
Scaling Configuration sekmesinde, hedef planın Edit sütununda bulunan Actions seçeneğine tıklayarak planı güncelleyin.
-
Zamana dayalı zamanlama yapılandırma
Scaling Configuration sekmesinde, Scheduled Scaling Management bölümünde bulunan Edit Time Plan seçeneğine tıklayın.
-
Add Effective Period seçeneğine tıklayın. Ardından bir Effective start time ve bir Configuration Plan seçin.
Bu yapılandırma sayesinde günün farklı saatlerinde farklı kota yapılandırma planlarını etkinleştirebilirsiniz. Daha fazla bilgi için bkz. Hesaplama kaynaklarını ve kotaları yönetme.
Zamanlama ilkesi
Bir iş gönderdiğinizde istemcide veya JDBC bağlantı dizesinde etkileşimli kota grubunun adını belirtin. İş ardından ilgili MaxQA örneğinde çalıştırılmak üzere zamanlanır.
Geri dönüş ilkesi
MaxQA geri dönüş ilkesini destekler. Etkinleştirildiğinde, sistem istisnaları nedeniyle başarısız olan MaxQA görevleri otomatik olarak toplu iş moduna geri döner. Geri dönüş ilkesini aşağıdaki yollarla etkinleştirebilirsiniz:
JDBC (sürüm 3,10,7 veya üzeri): Geri dönüş varsayılan olarak etkindir. Devre dışı bırakmak için
disableFallbackparametresini ayarlayın ve hedef kotayı belirtmek içinfallbackQuotaparametresini kullanın.Java SDK:
MaxQAConnInfo.builder().fallbackInfo(FallbackInfo.enable("<offline_quota>")).build()DataWorks: DataStudio'nun zamanlama ayarlarında geri dönüş kurallarını yapılandırın. Daha fazla bilgi için bkz. DataWorks DataStudio kullanma.
Erişim yöntemleri
MaxQA'ya aşağıdaki yöntemlerle erişebilirsiniz:
MaxCompute istemcisini kullanma
MaxCompute istemcisini (odpscmd) v0,51,1 veya üzeri bir sürümü yükleyin ve yapılandırın. Daha fazla bilgi için bkz. Yerel istemci (odpscmd) kullanarak bağlanma.
-
İstemci kurulumundaki
confdizinindeodps_config.inidosyasını düzenleyin ve son satıra aşağıdaki komutu ekleyin.-- Enable MaxQA connection information caching. enable_interactive_mode=true enable_quota_cache=true(Optional) -
MaxCompute istemcisini başlatmak için
bindizinindeki betik dosyasını çalıştırın.ÖnemliLinux/macOS sistemler:
odpscmdbetik dosyasını çalıştırın.Windows:
odpscmd.batdosyasına çift tıklayın.
-
Bir iş çalıştırmadan önce aşağıdaki komutu yürütün. Bundan sonra istemciden gönderilen tüm işler, ilgili etkileşimli kota grubunda MaxQA modunda çalışacaktır.
USE QUOTA <name_of_the_interactive_quota_group>;
DataWorks DataStudio kullanma
MaxQA yalnızca genel önizleme aşamasındaki yeni DataStudio sürümünü kullanan çalışma alanlarında desteklenir. Eski bir DataStudio sürümü kullanıyorsanız MaxQA'yı kullanmak için yeni sürüme yükseltmeniz gerekir. Daha fazla bilgi için bkz. Yeni DataStudio sürümünü etkinleştirme.
DataWorks konsolu üzerinde oturum açın ve sol üst köşeden bir bölge seçin.
Soldaki gezinme bölmesinde yolunu izleyin.
Select Workspace seçeneğini belirleyin ve Go to Data Studio seçeneğine tıklayın.
Veri Geliştirme sayfasında sağ taraftaki Run Configuration seçeneğine tıklayın .
-
Hata Ayıklama Yapılandırmaları sayfasında Hesaplama Kaynağı olarak bu çalışma alanına bağlı MaxCompute projesi kaynağını seçin. Her senaryo için hesaplama kotasının nasıl seçileceği aşağıdaki tabloda açıklanmıştır:
NotÇalıştırma ortamı: İşler veri analizi veya veri geliştirme modülünde çalışır. Etkileşimden çevrimdışı moda geri dönüş uygulanmaz.
Geri dönüş çalıştırma ortamı: İşler zamanlama modülünde çalışır. Etkileşimli mod belirtilirse, etkileşimli mod başarısız olduğunda çevrimdışı moda geri dönüş de yapılandırılabilir.
Hesaplama Kotası Seçimi
Belirtilen Kota / Yönlendirme Kuralı
Beklenen Çalıştırma Modu
Zamanlama Yapılandırması ve Beklenen Geri Dönüş
Proje varsayılan kotası
Bir çevrimdışı yönlendirme kuralı varsa kural geçerli olur. Etkileşimli yönlendirme kuralları uygulanmaz.
Proje varsayılan kotası bir çevrimdışı kotadır. İşler çevrimdışı kotada çalışır.
İşler çevrimdışı kotada çalışır. Geri dönüş uygulanmaz.
Belirtilen kota
Bir çevrimdışı kota seçin.
İşler çevrimdışı kotada çalışır.
İşler çevrimdışı kotada çalışır. Geri dönüş uygulanmaz.
Belirtilen kota
Bir etkileşimli kota seçin.
İşler, etkileşimli kota grubuna karşılık gelen MaxQA örneğinde çalışır.
Zamanlama Yapılandırmasında: geri dönüş devre dışı bırakılırsa geri dönüş denenmez; proje varsayılan kotası seçilirse geri dönüş için proje varsayılan kotası kullanılır (geri dönüşte çevrimdışı yönlendirme kuralları uygulanmaz); belirli bir kota seçilirse belirtilen çevrimdışı kota geri dönüş için kullanılır.
Etkileşimli mod yönlendirme kuralı
Yalnızca çevrimdışı yönlendirme kuralları mevcuttur. Eşleşen bir etkileşimli yönlendirme kuralı bulunamadı.
Bir hata bildirilir:Cannot find MCQA quota to start connection on project *****. Oluşturmak için bkz. Hesaplama kaynakları için kota kullanma.
Geri dönüş devre dışı bırakılırsa geri dönüş denenmez; proje varsayılan kotası seçilirse geri dönüş için proje varsayılan kotası kullanılır; belirli bir kota seçilirse belirtilen çevrimdışı kota geri dönüş için kullanılır.
Etkileşimli mod yönlendirme kuralı
Eşleşen bir etkileşimli yönlendirme kuralı mevcuttur.
İşler, etkileşimli kota grubuna karşılık gelen MaxQA örneğinde çalışır. Yapılandırma tamamlandıktan sonra SQL düğümündeki işler, etkileşimli kota grubuna karşılık gelen MaxQA örneğinde zamanlanır.
Daha fazla bilgi için bkz. DataWorks'te MaxCompute SQL düğümü oluşturma.
Konsolda SQL Analizi kullanma
MaxCompute konsolu üzerinde oturum açın ve sol üst köşeden bir bölge seçin.
Sol gezinme bölmesinde yolunu izleyin.
SQL editörüne SQL ifadelerini girdikten sonra sağ taraftaki Run Configurations seçeneğine tıklayarak Project ve Computing Quota alanlarını yapılandırın.
Etkileşimli kota grubuna karşılık gelen hesaplama kaynaklarını seçin.
Yapılandırma tamamlandıktan sonra SQL Analizi sayfasındaki işler, etkileşimli kota grubuna karşılık gelen MaxQA örneğinde zamanlanır.
Daha fazla bilgi için bkz. SQL Analizi.
MaxCompute Studio kullanma
MaxCompute Studio'yu yüklediğinizden ve MaxCompute projenize bağladığınızdan emin olun. MaxQA'yı kullanmak için bir betik çalıştırın:
MaxCompute Studio v4,3,2 veya üzeri bir sürümü yükleyin ve yapılandırın. Daha fazla bilgi için bkz. MaxCompute Studio yükleme.
Bir MaxCompute Studio projesi oluşturun ve MaxCompute projenize bağlayın. Daha fazla bilgi için bkz. Proje bağlantılarını yönetme.
Projede bir MaxCompute SQL betiği oluşturun. Daha fazla bilgi için bkz. SQL betiği geliştirme ve gönderme.
-
MaxCompute SQL betiğine SQL ifadelerini girin. Execution Mode açılır listesinden MaxQA'yı seçin.
-
Ek parametreleri belirt
düğmesine tıklayın, etkileşimli kota grubu adını girin ve Tamam'a tıklayın. Betik dosyasını çalıştırın. Artık iş MaxQA sorgu hızlandırma özelliğini kullanacaktır.
JDBC kullanma
JDBC kullanarak MaxCompute'a bağlanırken MaxQA'yı etkinleştirmek için: JDBC bağlantıları hakkında daha fazla bilgi için bkz. Kullanıcı kılavuzu.
MaxQA desteği içeren kaynak kodunu indirin.
-
Maven'da POM bağımlılığını yapılandırın.
<dependency> <groupId>com.aliyun.odps</groupId> <artifactId>odps-jdbc</artifactId> <version>${Latest Version}</version> </dependency>ÖnemliYukarıdaki kodda
Latest Versionbir yer tutucudur. Projeyi başarıyla derlemek için bunu belirli bir SDK sürüm numarasıyla değiştirin. Yayınlanan tüm odps-jdbc sürümlerini görüntülemek için GitHub Releases adresini ziyaret edin. En son sürümü kullanmanız önerilir. Sürüm numarası formatı X.X.X şeklindedir. -
Kaynak kodundan ortamınıza uygun bir Java programı oluşturun. Daha fazla bilgi için bkz. MaxCompute JDBC. Aşağıdaki kod bir örnek sağlar.
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 AccessKey ID of an Alibaba Cloud account has permissions to call all API operations. This is a high-risk operation. We recommend that you create and use a RAM user to call API operations or perform routine O&M. To create a RAM user, log on to the RAM console. // In this example, the AccessKey ID and AccessKey Secret are stored in environment variables. You can also store them in a configuration file based on your business needs. // We strongly recommend that you do not hard-code the AccessKey ID and AccessKey Secret in your code. This poses a security risk. 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"aName=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 meta data 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(); } }
Aşağıdaki kod bir JDBC bağlantı dizesi göstermektedir.
// your_quota_group_name is the name of the interactive quota group that you want to use.
jdbc:odps:<MaxCompute_endpoint>?
project=<MaxCompute_project_name>&interactiveMode=true"aName=your_quota_group_name&enableLimit=false&enableOdpsLogger=true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BI araçlarını kullanma
Tableau, Quick BI, Guandata BI ve SQL Workbench/J gibi BI araçlarını kullanarak MaxQA'ya bağlanabilirsiniz.
Tableau
MaxQA özelliğini etkinleştirmek için sunucu URL yoluna interactiveMode=true ve quotaName=your_quota_nick_name özelliklerini ekleyin. Günlükleri yazdırmak için enableOdpsLogger=true özelliğini de eklemenizi öneririz. Ayrıntılı adımlar için bkz. Tableau kullanmak için JDBC yapılandırma.
-
URL formatı:
<MaxCompute_endpoint>?project=<MaxCompute_project_name>&charset=UTF-8&interactiveMode=true"aName=<your_quota_group_name>&autoSelectLimit=1000000000
Parametre
Gerekli
Açıklama
MaxCompute_endpoint
Evet
MaxCompute hizmetinin bulunduğu bölgenin uç noktası. Daha fazla bilgi için bkz. Uç noktalar. Örneğin, Çin (Hangzhou) bölgesi için uç noktahttps://service.cn-hangzhou.maxcompute.aliyun.com/apişeklindedir.
MaxCompute_project_name
Evet
MaxCompute projesinin adı, örneğinmaxqatomax.
your_quota_group_name
Evet
Etkileşimli kota grubunun adı, örneğinmaxfor1.Alibaba MaxCompute bağlantı iletişim kutusunun General sekmesinde, oluşturduğunuz URL'yi Server alanına girin. AccessKey ID'nizi Username alanına, AccessKey Secret'ınızı ise Password alanına girin. Ardından Sign In seçeneğine tıklayın.
-
URL örneği:
https://service.cn-hangzhou.maxcompute.aliyun.com/api?project=maxqatomax&charset=UTF-8&interactiveMode=true"aName=maxfor1&autoSelectLimit=1000000000
Quick BI
Quick BI konsolu. üzerinde oturum açın.
Sol gezinme bölmesinde Data Sources seçeneğini belirleyin ve sağ üst köşede Create Data Source seçeneğine tıklayın.
Create data source sayfasında MaxCompute seçeneğini belirleyin.
Configure connection sayfasında Quota computing resource group alanında MaxQA özelliğini etkinleştirmek ve MaxCompute hesaplama kaynaklarını kullanmak için MaxQA Kota hesaplama kaynağının adını girin. Daha fazla bilgi için bkz. Quick BI ile MaxCompute'a bağlanma.
Örneğin, Quota Computing Resource Group alanına maxqa (MaxQA Kota adı) girin.
Guandata BI
-
Sürücü ekleme.
MaxCompute JDBC Driver v3,8,5 veya üzeri bir sürümü Guandata BI'ya yükleyin. Daha fazla bilgi için bkz. MaxCompute JDBC ve Sürüm Notları.
Guandata BI konsolunun sağ üst köşesindeki
simgesine tıklayarak Management Center bölümüne gidin.System Settings > General Settings seçeneğine tıklayın ve ardından Drivers and Connectors sayfasına gidin.
Driver Management sekmesinde Add Driver seçeneğine tıklayın, bir Driver Name girin ve yapılandırmayı kaydedin.
Yeni sürücünün adına tıklayın. Driver List bölümünde Upload File seçeneğine tıklayarak MaxCompute JDBC sürücüsünü yükleyin. Ardından Driver alanında com.aliyun.odps.jdbc.OdpsDriver seçeneğini belirleyin ve Apply seçeneğine tıklayın.
-
MaxQA kullanarak MaxCompute veri kaynağına bağlanmak için bir veri hesabı oluşturun.
Üst menü çubuğunda Data Preparation seçeneğine tıklayın.
-
Sol bölmede Data Account sekmesine tıklayın. Sağ üst köşede New Data Account seçeneğine tıklayın ve hesap bilgilerini istendiği şekilde yapılandırın.
Parametre
Açıklama
Bağlayıcı seçin
MaxCompute seçeneğini belirleyin.
Veri hesabını yapılandırın
Bağlantı yöntemi
JDBC URL seçeneğini belirleyin.
Oturum Açma Kimliği
Alibaba Cloud hesabınızın AccessKey ID'si.
Oturum Açma Anahtarı
Alibaba Cloud hesabınızın AccessKey Secret'ı.
JDBC URL
MaxQA JDBC bağlantı dizesi için URL formatı şu şekildedir:
jdbc:odps:<maxcompute_endpoint>?project=<maxcompute_projectName>&charset=UTF-8&interactiveMode=true"aName=<your_quota_nickName>&autoSelectLimit=1000000000.Parametrelerin açıklamaları aşağıdadır.
maxcompute_endpoint: MaxCompute hizmetinin bulunduğu bölgenin uç noktası. Daha fazla bilgi için bkz. Uç noktalar. Örneğin, Çin (Hangzhou) bölgesi için uç noktahttps://service.cn-hangzhou.maxcompute.aliyun.com/apişeklindedir.maxcompute_projectName: MaxCompute proje adı, örneğinmaxqatomax.your_quota_nickName: Kullanılacak etkileşimli kota grubunun adı, örneğinmaxfor1. Etkileşimli kota grubu oluşturma hakkında bilgi için bkz. Hesaplama kaynağı - Kota yönetimi.
Örnek:
jdbc:odps:https://service.cn-hangzhou.maxcompute.aliyun.com/api?project=maxqatomax&charset=UTF-8&interactiveMode=true"aName=maxfor1&autoSelectLimit=1000000000SQL sürümü
2.0/hive compatibility mode seçeneğini belirleyin.
Maksimum bağlantı sayısı
Varsayılan değer 16'dır.
driver
Custom seçeneğini belirleyin ve ardından oluşturduğunuz sürücüyü seçin.
Test Connection seçeneğine tıklayın. Connection Successful mesajı göründükten sonra Next seçeneğine tıklayın.
Veri hesabı bilgilerini onaylayın, özel bir Display Name girin ve ardından Confirm and Create seçeneğine tıklayın.
SQL Workbench/J
Profil yapılandırmasında SQL Workbench/J'de MaxQA'yı etkinleştirmek için JDBC URL'sini değiştirin. Daha fazla bilgi için bkz. JDBC kullanarak SQL Workbench/J yapılandırma.
-
URL formatı:
jdbc:odps:<MaxCompute_endpoint>? project=<MaxCompute_project_name>&charset=UTF-8&interactiveMode=true"aName=<your_quota_group_name>&autoSelectLimit=1000000000
Parametre
Gerekli
Açıklama
MaxCompute_endpoint
Evet
MaxCompute hizmet bölgesi uç noktası. Daha fazla bilgi için bkz. Uç noktalar. Örneğin, Çin (Hangzhou) bölgesi için uç noktahttps://service.cn-hangzhou.maxcompute.aliyun.com/apişeklindedir.
MaxCompute_project_name
Evet
MaxCompute proje adı, örneğinmaxqatomax.
your_quota_group_name
Evet
Kullanmak istediğiniz etkileşimli kota grubunun adı, örneğinmaxfor1. -
URL örneği:
jdbc:odps:https://service.cn-hangzhou.maxcompute.aliyun.com/api?project=maxqatomax&charset=UTF-8&interactiveMode=true"aName=maxfor1&autoSelectLimit=1000000000
Java SDK kullanma
Java SDK hakkında daha fazla bilgi için bkz. Java SDK tanıtımı.
-
Maven'da POM bağımlılığını yapılandırın. Aşağıdaki kod bir örnek sağlar.
<dependency> <groupId>com.aliyun.odps</groupId> <artifactId>odps-sdk-core</artifactId> <version>${Latest Version}</version> </dependency>ÖnemliYukarıdaki kodda
Latest Versionbir yer tutucudur. Projeyi başarıyla derlemek için bunu belirli bir SDK sürüm numarasıyla değiştirmeniz gerekir. Yayınlanan tüm odps-sdk-core sürümlerini görüntülemek için GitHub Releases adresini ziyaret edin. En son sürümü kullanmanız önerilir. Sürüm numarası formatı X.X.X-public şeklindedir. -
Bir Java programı oluşturun. Aşağıdaki kod bir örnek sağlar.
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 AccessKey ID of an Alibaba Cloud account has permissions to call all API operations. This is a high-risk operation. We recommend that you create and use a RAM user to call API operations or perform routine O&M. To create a RAM user, log on to the RAM console. // In this example, the AccessKey ID and AccessKey Secret are stored in environment variables. You can also store them in a configuration file based on your business needs. // We strongly recommend that you do not hard-code the AccessKey ID and AccessKey Secret in your code. This poses a security risk. 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 MaxQA mode by default. // enableMcqaV2(true) enables MaxQA mode sqlExecutor = builder.odps(odps) .executeMode(ExecuteMode.INTERACTIVE) .quotaName("maxfor1") .enableMcqaV2(true) .build(); // If needed, you can pass custom settings for the query. Map<String, String> queryHint = new HashMap<>(); queryHint.put("odps.sql.mapper.split.size", "128"); // Submit a query job. You can pass hints. sqlExecutor.run("select count(1) from test_table;", queryHint); // The Logview of the current query job. System.out.println("Logview:" + sqlExecutor.getLogView()); // The instance ID 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(); } } } }
PyODPS kullanma
PyODPS v0,12,1 ve üzeri sürümler MaxQA'yı destekler. Aşağıdaki kod bir örnek sağlar.
import os
from odps import ODPS
# Set the account and project information.
# Make sure that the ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET
# environment variables are set to your AccessKey ID and 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 custom 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 for the MaxQA instance.
hints=hints,
)
# The Logview of the current query job.
print(inst.get_logview_address())
# The instance ID 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]
SQLAlchemy veya SQLAlchemy destekleyen diğer üçüncü taraf araçlarla PyODPS kullanarak sorgu hızlandırma
PyODPS v0,12,2 ve üzeri sürümler, SQLAlchemy kullanarak MaxQA aracılığıyla MaxCompute verilerini sorgulamayı destekler. Bağlantı dizesinde aşağıdaki parametreleri belirtin.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Örneğin, aşağıdaki bağlantı dizesi MaxQA'yı ve zorunlu bağlantı yeniden kullanımını etkinleştirir.
odps://<access_id>:<ACCESS_KEY>@<project>/?endpoint=<endpoint>"a_name=<YOUR_INTERACTIVE_QUOTA_GROUP_NAME>&interactive_mode=v2&reuse_odps=true
Bir işin MaxQA modunu kullanıp kullanmadığını doğrulama
Logview sayfasından
Bir iş tamamlandıktan sonra MaxQA modunda çalıştığını doğrulamak için Logview sayfasına gidin. Aşağıdakileri kontrol edin:
MaxCompute InstanceId değeri
_mcqaile biter.Kota takma adı, belirtilen etkileşimli kotanın adıdır.
Summary sekmesinde iş çalıştırma modu
mcqa 2.0olarak görünür.
Job O&M sayfasından
MaxCompute konsolu üzerinde oturum açın ve sol üst köşeden bir bölge seçin.
Sol gezinme bölmesinde yolunu izleyin.
Jobs sayfasında Regular Job List sekmesine tıklayın ve Job Type alanını MCQA2 olarak ayarlayarak belirtilen Time Range içindeki MaxQA işlerini görüntüleyin.