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

Kyuubi計算引擎管理

本文為您介紹Kyuubi支持的引擎及共享級別,并通過示例為您介紹如何啟動計算引擎和向計算引擎提交任務。

支持引擎

EMR集群安裝Kyuubi時會依賴安裝YARN和Spark3引擎。EMR Kyuubi支持Spark3 on YARN部署(暫未支持Flink、Trino以及Spark2引擎)。本文以Spark為例,一個Spark引擎對應一個YARN Spark Application,具體請參見示例

共享級別

根據Kyuubi服務的配置頁面的kyuubi-defaults.conf頁簽中參數kyuubi.engine.share.level的配置,可以為引擎設置不同的共享級別。

共享級別

語義

適用場景

隔離程度

共享程度

CONNECTION

每個Session啟動一個引擎

  • 大規模ETL

  • Ad-hoc查詢

USER

每個用戶一個引擎

GROUP

每個資源組一個引擎

SERVER

每個集群一個引擎

管理員

高安全集群程度最高,非高安全集群程度最低

高安全集群只允許管理員使用

示例

以下場景以共享級別USER為例(即設置參數kyuubi.engine.share.level為USER),本示例假設所有用戶都已通過LDAP或Kerberos認證。

  1. 根據需求動態啟動計算引擎。

    新用戶user1需要使用Spark計算引擎,通過kyuubi-beeline工具提交作業后,Kyuubi Server會啟動一個新的Spark引擎處理用戶作業。

    kyuubi-beeline -n user1 \
      -u "jdbc:hive2://master-1-1:10009/tpcds_parquet_1000" \
      -f query1.sql

    如果新用戶user2需要指定Spark引擎使用的資源量,可以有以下兩種方式:

    • 方式一:在JDBC URL中設置Spark Application Executor等資源

      # Set User config via JDBC Connection URL
      
      kyuubi-beeline -n user2 \
        -u "jdbc:hive2://master-1-1:10009/tpcds_parquet_1000?spark.dynamicAllocation.enabled=false;spark.executor.cores=2;spark.executor.memory=4g;spark.executor.instances=4" \
        -f query1.sql
    • 方式二:在kyuubi-defaults.conf配置文件中設置Spark引擎使用的資源量

      # Set User default config in kyuubi-defatuls.conf
      # ___user2___.spark.dynamicAllocation.enabled=false
      # ___user2___.spark.executor.memory=5g
      # ___user2___.spark.executor.cores=2
      # ___user2___.spark.executor.instances=10
      
      kyuubi-beeline -n user2 \
        -u "jdbc:hive2://master-1-1:10009/tpcds_parquet_1000" \
        -f query1.sql
  2. 向指定引擎提交任務。

    Kyuubi Server啟動的Spark引擎在用戶作業運行完成之后會繼續保留一段時間,新的計算任務可以復用該引擎,無需啟動新的YARN Application,提升作業或SQL查詢性能。如果長時間沒有新作業提交,引擎會自動退出。引擎保留時間由參數kyuubi.session.engine.idle.timeout控制,默認值為PT30M(即保留30分鐘),該參數可以在Kyuubi服務的配置頁面的kyuubi-defaults.conf頁簽中配置。

    Kyuubi支持在同一個共享級別下創建subdomain。例如新用戶user4需要針對不同業務場景使用不同的引擎資源,可以在JDBC URL中設置kyuubi.engine.share.level.subdomain參數,然后提交作業到不同的引擎上。

    kyuubi-beeline -n user4 \
      -u "jdbc:hive2://master-1-1:10009/biz1?kyuubi.engine.share.level.subdomain=biz1" \
      -f query1.sql
    
    kyuubi-beeline -n user4 \
      -u "jdbc:hive2://master-1-1:10009/biz2?kyuubi.engine.share.level.subdomain=biz2" \
      -f query2.sql
    
     kyuubi-beeline -n user4 \
      -u "jdbc:hive2://master-1-1:10009/biz3?kyuubi.engine.share.level.subdomain=biz3" \
      -f query3.sql
  3. 單個引擎支持多個Spark Session。

    Kyuubi支持多個Spark Session同時使用一個Spark引擎。例如用戶user1在兩個不同的終端同時提交作業,兩個作業會使用同一個Spark引擎進行運算,多個作業會根據Spark內部的默認調度機制完成Executor資源分配。

    # Console 1
    kyuubi-beeline -n user1 \
      -u "jdbc:hive2://master-1-1:10009/biz1" \
      -f query1.sql
    
    # Console 2
    kyuubi-beeline -n user1 \
      -u "jdbc:hive2://master-1-1:10009/biz2" \
      -f query2.sql

參考文檔