日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

查詢加速(MCQA2.0)beta版本

更新時(shí)間:

本文為您介紹MaxCompute查詢加速升級(jí)MCQA2.0(MaxCompute Query Acceleration 2.0)引擎功能,并幫助您了解該功能的系統(tǒng)架構(gòu)、應(yīng)用場景、使用限制和使用方法。

功能介紹

MaxCompute MCQA2.0功能提供如下能力:

  • 支持對中小數(shù)據(jù)量(百GB規(guī)模內(nèi))查詢作業(yè)、數(shù)據(jù)插入作業(yè)進(jìn)行加速優(yōu)化,最快執(zhí)行時(shí)間為亞秒級(jí)。

  • 完全兼容MaxCompute的SQL功能,包括UDF、Delta Table、增量物化視圖特性等。

  • 支持隔離的查詢加速資源池,獨(dú)享服務(wù)于本租戶,穩(wěn)定性更高。

  • 支持自定義查詢加速資源池和批處理資源池的分時(shí)資源分配規(guī)則,提高資源整體利用率。

  • 支持全鏈路Cache,作業(yè)會(huì)自動(dòng)將多個(gè)環(huán)節(jié)的執(zhí)行結(jié)果寫入臨時(shí)緩存,后續(xù)執(zhí)行的作業(yè)在全鏈路的多個(gè)環(huán)節(jié)都可能命中Cache,加快執(zhí)行速度。

產(chǎn)品架構(gòu)

MCQA2.0架構(gòu)圖如下所示。

image

應(yīng)用場景

MCQA2.0功能的應(yīng)用場景如下。

場景

說明

場景特點(diǎn)

即席查詢(Ad Hoc)

您可以通過MCQA2.0優(yōu)化中小規(guī)模數(shù)據(jù)集的查詢性能,直接對MaxCompute表進(jìn)行低時(shí)延的查詢操作,以便快速完成數(shù)據(jù)開發(fā)及數(shù)據(jù)分析。

您可以根據(jù)實(shí)際需求,靈活選擇查詢條件,快速獲取查詢結(jié)果并調(diào)整查詢邏輯。對查詢時(shí)延的要求在幾十秒內(nèi)。使用者通常為掌握SQL技能的數(shù)據(jù)開發(fā)或數(shù)據(jù)分析師,希望使用熟悉的客戶端工具開展查詢分析。

商業(yè)智能(BI)

利用MaxCompute搭建企業(yè)級(jí)數(shù)據(jù)倉庫時(shí),ETL會(huì)將數(shù)據(jù)加工處理為面向業(yè)務(wù)可消費(fèi)的聚合數(shù)據(jù)。借助MCQA2.0的低延時(shí)、資源隔離、彈性并發(fā)、數(shù)據(jù)緩存等特性,結(jié)合MaxCompute表分區(qū)、分桶等優(yōu)化設(shè)計(jì),可以低成本滿足多并發(fā)、快速響應(yīng)的報(bào)告生成、統(tǒng)計(jì)分析及固定報(bào)表分析需求。

查詢的數(shù)據(jù)對象通常為聚合后的結(jié)果數(shù)據(jù),適用于數(shù)據(jù)量較小、多維查詢、固定查詢、高頻查詢場景。查詢延時(shí)要求高,秒級(jí)返回(例如大部分查詢不超過5秒,不同查詢作業(yè)由于數(shù)據(jù)規(guī)模和查詢復(fù)雜度不同,查詢時(shí)間有較大差異)。

海量數(shù)據(jù)明細(xì)查詢分析

MCQA2.0可以自動(dòng)識(shí)別查詢作業(yè)特征,既能快速響應(yīng),處理小規(guī)模作業(yè),同時(shí)還可以自動(dòng)匹配大規(guī)模作業(yè)資源需求,滿足分析人員分析不同規(guī)模和復(fù)雜度的查詢作業(yè)的需求。

需要探索的歷史數(shù)據(jù)量大、真正需要的有效數(shù)據(jù)量不大、查詢延時(shí)要求適中。使用者通常為業(yè)務(wù)分析人員,往往需要從明細(xì)數(shù)據(jù)中探尋業(yè)務(wù)規(guī)律,發(fā)現(xiàn)業(yè)務(wù)機(jī)會(huì),驗(yàn)證業(yè)務(wù)假設(shè)。

使用限制

  • 不支持非DDL、DML、DQL類的語句(例如授權(quán)操作、Tunnel操作等)在交互式Quota組執(zhí)行。

  • 交互式Quota組中支持運(yùn)行UDF,但會(huì)涉及UDF隔離環(huán)境的現(xiàn)場拉起,為了防止造成性能劇烈波動(dòng),對能同時(shí)運(yùn)行UDF的CU數(shù)做了限制,最多只有30%的CU能同時(shí)運(yùn)行UDF。

  • 默認(rèn)最大查詢100萬行數(shù)據(jù),可通過在SQL語句中增加Limit關(guān)鍵字突破此限制。

說明

如果因使用限制導(dǎo)致MCQA2.0作業(yè)失敗,需要您手動(dòng)重試或嘗試將作業(yè)提交到批處理配額組中。

不同CU規(guī)格對應(yīng)的系統(tǒng)參數(shù)說明

CU數(shù)

最大并行作業(yè)數(shù)

作業(yè)超時(shí)時(shí)間(min)

單作業(yè)并發(fā)度上限

< 512CU

200

30

CU 數(shù) * 30

512CU-1024CU

400

60

CU 數(shù) * 30

1024CU-1536CU

600

90

CU 數(shù) * 30

1536CU-2048CU

800

120

CU 數(shù) * 30

2048CU-2560CU

1000

150

CU 數(shù) * 30

2560CU-3072CU

1200

180

CU 數(shù) * 30

3072CU-3584CU

1400

210

CU 數(shù) * 30

3584CU-4096CU

1600

240

CU 數(shù) * 30

4096CU-4608CU

1800

270

CU 數(shù) * 30

4608CU-5120CU

2000

300

CU 數(shù) * 30

5120CU-5632CU

2200

330

CU 數(shù) * 30

5632CU-6144CU

2400

360

CU 數(shù) * 30

操作步驟

說明
  • MCQA2.0功能處于邀測階段,申請?jiān)囉谜埌l(fā)起工單。

  • 目前僅支持在包年包月MaxCompute實(shí)例中使用查詢加速升級(jí)功能。

  • 整體使用方法為:新建交互式配額組,并在提交作業(yè)時(shí)指定交互式配額組。該作業(yè)只會(huì)被調(diào)度到對應(yīng)配額組中執(zhí)行。

  1. 登錄MaxCompute控制臺(tái),在左上角選擇地域。

  2. 在左側(cè)導(dǎo)航欄,選擇工作區(qū) > 配額(Quota)管理

  3. Quota管理頁面,單擊需要配置的一級(jí)Quota操作列的Quota配置

  4. 配置基礎(chǔ)配置。

    1. Quota配置頁面的基礎(chǔ)配置頁簽,單擊編輯基礎(chǔ)配置

    2. 單擊+新建二級(jí)Quota后,自定義填寫Quota名稱,并選擇類型交互式

    3. 配置最小CU量(minCU)和最大CU量(maxCU)。

      說明
      • 最小CU量(minCU)需要等于最大CU量(maxCU),且需要為32的倍數(shù)。

      • 如果不需要交互式資源,設(shè)置為0

      • 交互式類型的Quota不支持彈性預(yù)留CU。

    4. 單擊確定,完成新增交互式配額組。

      對應(yīng)交互式配額組的最后部分會(huì)出現(xiàn)狀態(tài)展示為啟動(dòng)中,等待5分鐘左右,當(dāng)狀態(tài)變?yōu)?b data-tag="uicontrol" id="cac7a558c2qxk" class="uicontrol">運(yùn)行中以后,即可正常使用。

  5. (可選)配置伸縮配置。

  6. (可選)配置時(shí)間計(jì)劃。

    配置時(shí)間計(jì)劃設(shè)置每日不同時(shí)間點(diǎn)啟用不同的Quota計(jì)劃,以此實(shí)現(xiàn)對Quota配置的分時(shí)邏輯,配置詳情請參見計(jì)算資源-Quota管理

說明
  • 若希望對交互式配額組進(jìn)行擴(kuò)、縮容,可以在基礎(chǔ)配置中調(diào)大或調(diào)小CU量。

  • 若需刪除交互式配額組,可直接單擊刪除,后臺(tái)會(huì)自動(dòng)完成相關(guān)銷毀動(dòng)作。

提交作業(yè)

使用MCQA2.0功能進(jìn)行DataWorksIDE臨時(shí)查詢或數(shù)據(jù)開發(fā)

在DataWorks數(shù)據(jù)開發(fā)(新版)頁面新建MaxCompute SQL節(jié)點(diǎn)后,在右側(cè)的調(diào)試配置面板中可以選擇計(jì)算配額,選擇交互式配額組以后,數(shù)據(jù)開發(fā)(新版)頁面執(zhí)行的作業(yè)將會(huì)被調(diào)度到交互式配額組執(zhí)行。如果返回結(jié)果的InstanceId帶有_mcqa的后綴,則代表成功運(yùn)行到了MCQA2.0模式。

使用MCQA2.0功能進(jìn)行MaxCompute控制臺(tái)TopConsolo-SQL分析

MaxCompute控制臺(tái)SQL分析頁面右側(cè)的運(yùn)行參數(shù)可以選擇計(jì)算配額,選擇交互式配額組以后,SQL分析頁面執(zhí)行的作業(yè)將會(huì)被調(diào)度到交互式配額組執(zhí)行。如果返回結(jié)果的InstanceId帶有_mcqa的后綴,則代表成功運(yùn)行到了MCQA2.0模式。

通過JDBC使用MCQA2.0功能

您可以通過以下操作開啟MCQA2.0功能,并使用JDBC連接MaxCompute,詳情請參見使用說明

  1. 下載支持MCQA2.0功能的JDBC JAR包或可編譯的源代碼

  2. 通過Maven方式配置Pom依賴。

    說明

    此處以3.8.0-rc0版本為例配置Pom依賴,您可根據(jù)實(shí)際自行選擇3.8.0-rc0或以上版本,推薦使用最新版本。

    <dependency>
        <groupId>com.aliyun.odps</groupId>
        <artifactId>odps-jdbc</artifactId>
        <version>3.8.0-rc0</version>
    </dependency>
  3. 基于源代碼創(chuàng)建Java程序,適配實(shí)際信息,詳情請參見MaxCompute JDBC,示例如下。

    // 阿里云賬號(hào)AccessKey擁有所有API的訪問權(quán)限,風(fēng)險(xiǎn)很高。強(qiáng)烈建議您創(chuàng)建并使用RAM用戶進(jìn)行API訪問或日常運(yùn)維,請登錄RAM控制臺(tái)創(chuàng)建RAM用戶
    // 此處以把AccessKey 和 AccessKeySecret 保存在環(huán)境變量為例說明。您也可以根據(jù)業(yè)務(wù)需要,保存到配置文件里
    // 強(qiáng)烈建議不要把 AccessKey 和 AccessKeySecret 保存到代碼里,會(huì)存在密鑰泄漏風(fēng)險(xiǎn)
    private static String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
    private static String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
    //your_project_name為需要使用MCQA功能的項(xiàng)目名稱。
    //your_quota_nick_name為期望使用的交互式Quota組的名字
    String conn = "jdbc:odps:http://service.<regionid>.maxcompute.aliyun.com/api?project=<YOUR_PROJECT_NAME>"&accessId&accessKey&charset=UTF-8&interactiveMode=true&quotaName=<your_quota_nick_name>&autoSelectLimit=1000000000";
    Statement stmt = conn.createStatement();
    Connection conn = DriverManager.getConnection(conn, accessId, accessKey);
    Statement stmt = conn.createStatement();
    String tableName = "testOdpsDriverTable";
    stmt.execute("DROP TABLE IF EXISTS " + tableName);
    stmt.execute("CREATE TABLE " + tableName + " (key int, value string)");

    您也可以在連接串中配置如下參數(shù),完善處理邏輯。

    參數(shù)

    說明

    enableOdpsLogger

    用于打印日志。未配置SLF4J時(shí),建議您將此參數(shù)配置為True。

使用示例

以下為您展示在Tableau和SQLWorkbench中使用MCQA2.0時(shí)的服務(wù)器配置方法。

  • 示例1:Tableau使用MCQA2.0

    服務(wù)器增加interactiveMode=truequotaName=your_quota_nick_name屬性,用于開啟MCQA2.0功能。建議您同步增加enableOdpsLogger=true屬性,用于打印日志。配置操作詳情請參見配置JDBC使用Tableau

    完整的服務(wù)器配置示例如下。

    // <your_quota_nick_name>為期望使用的交互式Quota組的名字
    http://service.cn-beijing.maxcompute.aliyun.com/api?
    project=****_beijing&interactiveMode=true&quotaName=<your_quota_nick_name>&enableOdpsLogger=true&autoSelectLimit=1000000000"

    如果只對項(xiàng)目空間中的部分表進(jìn)行Tableau操作,您可以在服務(wù)器參數(shù)中增加table_list=table_name1, table_name2屬性選擇需要的表,多表之間用半角逗號(hào)(,)分隔。如果表過多,會(huì)導(dǎo)致Tableau打開緩慢,強(qiáng)烈建議使用此方式只載入需要的表。

    示例如下,對于有大量分區(qū)的表不建議將所有分區(qū)的數(shù)據(jù)都設(shè)置成數(shù)據(jù)源,可以篩選需要的分區(qū)或通過自定義SQL獲取需要的數(shù)據(jù)。

    //your_quota_nick_name為期望使用的交互式 Quota 組的名字
    http://service.cn-beijing.maxcompute.aliyun.com/api?project=****_beijing
    &interactiveMode=true&alwaysFallback=true&quotaName=<YOUR_QUOTA_NICK_NAME>&enableOdpsLogger=true&autoSelectLimit=1000000000"
    &table_list=orders,customers
  • 示例2:SQLWorkBench使用MCQA2.0

    完成JDBC驅(qū)動(dòng)配置后,在Profile配置界面修改已填寫的JDBC URL,支持SQLWorkbench使用MCQA2.0功能。Profile配置操作詳情請參見配置JDBC使用SQL Workbench/J

    需要配置的URL格式如下所示:

    //your_quota_nick_name為期望使用的交互式 Quota 組的名字
    jdbc:odps:<MaxCompute_endpoint>?
    project=<MaxCompute_project_name>&accessId=<AccessKey ID>&accessKey=<AccessKey Secret>
    &charset=UTF-8&interactiveMode=true&quotaName=<YOUR_QUOTA_NICK_NAME>&autoSelectLimit=1000000000"

    參數(shù)說明如下。

    參數(shù)

    說明

    MaxCompute_endpoint

    MaxCompute服務(wù)所在區(qū)域的Endpoint,詳情請參見Endpoint

    MaxCompute_project_name

    MaxCompute項(xiàng)目空間名稱。

    AccessKey ID

    有訪問指定項(xiàng)目空間權(quán)限的AccessKey ID。

    您可以進(jìn)入AccessKey管理頁面獲取AccessKey ID。

    AccessKey Secret

    AccessKey ID對應(yīng)的AccessKey Secret。

    您可以進(jìn)入AccessKey管理頁面獲取AccessKey Secret。

    your_quota_nick_name

    期望使用的交互式Quota組的名稱。

    charset=UTF-8

    字符集編碼格式。

    interactiveMode

    MCQA2.0功能開關(guān),true表示開啟MCQA功能。

    quotaName

    期望使用的交互式 Quota 組名字

    autoSelectLimit

    數(shù)據(jù)量超過100萬限制時(shí),需要配置此參數(shù)。

基于Java SDK啟用MCQA2.0功能

Java SDK詳情請參見Java SDK介紹。您需要通過Maven配置Pom依賴,配置示例如下。

說明

此處以0.50.0-rc1版本為例配置Pom依賴,您可根據(jù)實(shí)際自行選擇0.50.0-rc1或以上版本,推薦使用最新版本。

<dependency>
    <groupId>com.aliyun.odps</groupId>
    <artifactId>odps-sdk-core</artifactId>
    <version>0.50.0-rc1</version>
</dependency>

創(chuàng)建Java程序,命令示例如下。

import ...;

public class SQLExecutorExample {

  public static void main(String args[]) {
    // 設(shè)置賬號(hào)和項(xiàng)目信息。
    // 阿里云賬號(hào)AccessKey擁有所有API的訪問權(quán)限,風(fēng)險(xiǎn)很高。強(qiáng)烈建議您創(chuàng)建并使用RAM用戶進(jìn)行API訪問或日常運(yùn)維,請登錄RAM控制臺(tái)創(chuàng)建RAM用戶
    // 此處以把AccessKey 和 AccessKeySecret 保存在環(huán)境變量為例說明。您也可以根據(jù)業(yè)務(wù)需要,保存到配置文件里
    // 強(qiáng)烈建議不要把 AccessKey 和 AccessKeySecret 保存到代碼里,會(huì)存在密鑰泄漏風(fēng)險(xiǎn)
    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("<YOUR_PROJECT_NAME>");
    odps.setEndpoint("http://service.<regionid>.maxcompute.aliyun.com/api");

    // 準(zhǔn)備構(gòu)建SQLExecutor。
    SQLExecutorBuilder builder = SQLExecutorBuilder.builder();

    SQLExecutor sqlExecutor = null;
    try {
      // 創(chuàng)建一個(gè)默認(rèn)使用 MCQA2.0 模式的Executor。
      sqlExecutor = builder.odps(odps)
          .executeMode(ExecuteMode.INTERACTIVE)
          .quotaName("<YOUR_INTERACTIVE_QUOTA_NICKNAME>")
          .enableMcqaV2(true)
          .build();

      // 如果需要的話可以傳入查詢的特殊設(shè)置。
      Map<String, String> queryHint = new HashMap<>();
      queryHint.put("odps.sql.mapper.split.size", "128");
      // 提交一個(gè)查詢作業(yè),支持傳入Hint。
      sqlExecutor.run("select count(1) from test_table;", queryHint);
      
      // 當(dāng)前查詢作業(yè)的logview。
      System.out.println("Logview:" + sqlExecutor.getLogView());
      // 當(dāng)前查詢作業(yè)的InstanceId
      System.out.println("InstanceId:" + sqlExecutor.getQueryId());
      
      ResultSet resultSet = sqlExecutor.getResultSet();
      while (resultSet.hasNext()) {
        System.out.println(resultSet.next());
      }
      // run another query
      sqlExecutor.run("select * from test_table;", new HashMap<>());

      // 獲取查詢結(jié)果的迭代器ResultSet,同步接口,可能會(huì)占用本線程直到查詢成功或失敗。
      // 獲取大量結(jié)果數(shù)據(jù)時(shí)推薦使用,分次讀取查詢結(jié)果。
      ResultSet resultSet = sqlExecutor.getResultSet();
      while (resultSet.hasNext()) {
        System.out.println(resultSet.next());
      }

    } catch (OdpsException | IOException e) {
      e.printStackTrace();
    } finally {
      if (sqlExecutor != null) {
        // 關(guān)閉Executor釋放相關(guān)資源。
        sqlExecutor.close();
      }
    }
  }
}