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

鏡像管理

如果運行在Serverless資源組上的任務需要特定的開發(fā)環(huán)境(例如第三方庫依賴),您可以創(chuàng)建一個集成必要開發(fā)包與依賴的自定義鏡像,然后在運行任務時,指定Serverless資源組作為執(zhí)行資源,并指定該鏡像作為運行環(huán)境。

前提條件

使用限制

  • 該功能僅支持與新Serverless資源組配合使用。

    說明

    如果您使用舊版獨享調度資源組運行PyODPS任務節(jié)點時,需要依賴第三方包,可使用運維助手,具體請參見獨享調度資源組配置第三方包。

  • 不同DataWorks版本,支持創(chuàng)建的自定義鏡像最大個數(shù)存在限制:

    • 基礎版和標準版:10個。

    • 專業(yè)版:50個。

    • 企業(yè)版:100個。

  • 僅專業(yè)版以上版本支持鏡像構建能力。

  • 每個地域最多支持兩個鏡像同時構建。

操作步驟

步驟一:查看DataWorks官方鏡像

  1. 登錄DataWorks控制臺,切換至DataWorks工作空間所在地域后,單擊左側導航欄的鏡像管理。

  2. 查看DataWorks官方鏡像,目前支持如下鏡像:

    • DataWorks Shell節(jié)點官方鏡像:支持Shell任務類型。

    • DataWorks PYODPS節(jié)點官方鏡像:支持PyODPS 2PyODPS 3任務類型。

    • DataWorks EMR datalake 5.15.1版本官方鏡像:支持EMR Spark、EMR Spark SQLEMR SHELL任務類型。

      說明

      該鏡像支持EMR新版數(shù)據(jù)湖集群5.15.1版本的任務提交。

    image

步驟二:創(chuàng)建自定義鏡像

官方鏡像作為預配置的基礎鏡像,為特定任務類型提供了標準化的執(zhí)行環(huán)境。自定義鏡像在此基礎上進一步擴展了功能性和靈活性。您可以根據(jù)實際應用場景基于這些基礎鏡像進行個性化擴展,實現(xiàn)功能的按需定制,提升了數(shù)據(jù)處理任務的執(zhí)行效率與靈活性。

  1. 您可以通過如下方式創(chuàng)建自定義鏡像:

    • DataWorks官方鏡像頁簽,找到自定義鏡像所需的基礎官方鏡像,單擊操作列的創(chuàng)建自定義鏡像。

    • 自定義鏡像頁簽,單擊創(chuàng)建鏡像

  2. 在創(chuàng)建鏡像頁面,配置如下參數(shù)。

    參數(shù)

    說明

    鏡像名稱

    自定義鏡像的名稱。

    鏡像描述

    自定義鏡像的說明。

    引用類型

    固定為DataWorks官方鏡像,目前僅支持基于DataWorks官方鏡像創(chuàng)建自定義鏡像。

    鏡像命名空間

    固定為DataWorks Default。

    鏡像倉庫

    固定為DataWorks Default。

    鏡像名稱/ID

    DataWorks官方鏡像,支持選擇:

    • dataworks_shell_task_pod:DataWorks Shell節(jié)點官方鏡像。

    • dataworks_pyodps_task_pod:DataWorks PYODPS節(jié)點官方鏡像。

    • dataworks_emr_datalake_5.15.1_task_pod:DataWorks EMR datalake 5.15.1版本官方鏡像。

    可見范圍

    支持配置自定義鏡像的可見范圍,包括僅創(chuàng)建者可見全員可見

    使用子產品

    當前自定義鏡像僅支持用于數(shù)據(jù)開發(fā)。

    支持任務類型

    • DataWorks Shell節(jié)點官方鏡像:支持Shell任務類型。

    • DataWorks PYODPS節(jié)點官方鏡像:支持PyODPS 2PyODPS 3任務類型。

    • DataWorks EMR datalake 5.15.1版本官方鏡像:支持EMR SparkEMR Spark SQLEMR SHELL任務類型。

    安裝包

    按需添加需要的第三方包。支持以下方式:

    • 快捷安裝:在安裝包下拉選擇框選擇Python2、Python3、Yum,可以直接選擇需要安裝的環(huán)境、資源。

    • 手動輸入:在安裝包下拉選擇框選擇Script??赏ㄟ^Script命令框手動輸入安裝命令。您可選擇以下手動輸入示例命令下載第三方包。

      • pip示例命令:pip install xx,支持Python2使用。

      • pip3示例命令:/home/tops/bin/pip3 install 'urllib3<2.0' ,支持Python3使用。

      • yum示例命令:yum install -y git。

      • wget示例命令:wget git

  3. 單擊確定。

步驟三:發(fā)布鏡像

  1. 自定義鏡像頁簽,查看并找到已創(chuàng)建的自定義鏡像。

  2. 單擊操作列的發(fā)布

  3. 選擇測試資源組后,單擊測試結果右側的測試。

    說明

    測試資源組請選擇Serverless資源組。

    image

  4. 測試成功后,單擊發(fā)布

說明
  • 只有測試成功的鏡像才可以發(fā)布。

  • 如果您配置的自定義鏡像是從公網(wǎng)獲取第三方包,且長時間測試不通過,請檢查測試資源組綁定的VPC是否具備公網(wǎng)訪問能力,為VPC配置公網(wǎng),請參見使用公網(wǎng)NAT網(wǎng)關SNAT功能訪問互聯(lián)網(wǎng)。

  • 如果測試失敗,您可以在目標自定義鏡像的操作列單擊image > 修改,修改鏡像配置。

步驟四:修改鏡像歸屬空間

  1. 自定義鏡像頁簽,查看并找到已發(fā)布的自定義鏡像。

  2. 在目標鏡像操作列單擊image > 修改歸屬工作空間,為自定義鏡像綁定歸屬工作空間。

    image

步驟五:使用鏡像

  1. 進入數(shù)據(jù)開發(fā)頁面。

    登錄DataWorks控制臺,切換至目標地域后,單擊左側導航欄的數(shù)據(jù)開發(fā)與治理 > 數(shù)據(jù)開發(fā),在下拉框中選擇對應工作空間后單擊進入數(shù)據(jù)開發(fā)。

  2. 在數(shù)據(jù)開發(fā)功能中找到待測試自定義鏡像的任務節(jié)點,單擊右側調度配置,配置資源屬性:

    • 調度資源組:選擇Serverless資源組。

      說明
      • 為確保任務節(jié)點順利運行,請確保調度資源組發(fā)布鏡像時選擇的測試資源組一致。

      • 如果此處未顯示目標資源組,請檢查是否將該資源組綁定至當前工作空間。您可以前往資源組列表頁,找到目標資源組,然后單擊操作列的綁定工作空間,完成綁定。

    • 鏡像:選擇已發(fā)布并綁定了當前工作空間的自定義鏡像。

    image

  3. 保存并提交修改。

    說明

    數(shù)據(jù)開發(fā)中修改的鏡像不會同步到生產環(huán)境中,您需要通過發(fā)布任務將任務發(fā)布后,才能在生產環(huán)境中生效。

步驟六:構建持久化鏡像

完成步驟五后,您已經(jīng)可以正常在業(yè)務中使用自定義鏡像,但每次運行任務節(jié)點時,DataWorks都會重新部署鏡像環(huán)境,下載第三方包。該場景下會增加節(jié)點運行時間且可能承擔更多的計算費用,因此,DataWorks支持將自定義鏡像構建為持久化鏡像,無需每次都重新部署鏡像環(huán)境,每次運行任務節(jié)點時使用同一個鏡像環(huán)境,不僅確保了運行環(huán)境的一致性,還有效節(jié)省了任務運行時間、計算成本和流量成本。

具體配置步驟如下:

  1. 登錄DataWorks控制臺,切換至DataWorks工作空間所在地域后,單擊左側導航欄的鏡像管理。

  2. 自定義鏡像頁簽,查看并找到已發(fā)布的自定義鏡像。

  3. 在目標鏡像操作列單擊image > 構建,將自定義鏡像構建為持久化鏡像。

    image

  4. 在彈出的請選擇構建鏡像的資源組對話框中,配置構建鏡像使用的資源組,然后單擊繼續(xù)

    說明
    • 構建鏡像大約耗時5-10分鐘,具體視鏡像大小而定。

    • 構建鏡像會按照0.5 CU × 構建時長收取計算費用,詳情請參見數(shù)據(jù)計算計費說明

    • 為避免因網(wǎng)絡等原因出現(xiàn)構建失敗的情況,請確保構建鏡像的資源組步驟三:發(fā)布鏡像時選擇的測試資源組一致。

配置示例

場景說明

假設需要對MaxCompute表中的某一列數(shù)據(jù)進行分詞,然后將分詞結果存入另一張表中,用于下游調度節(jié)點使用。

可以使用此方案,在自定義鏡像中預裝jieba分詞工具包,然后通過PyODPS任務使用該鏡像對表數(shù)據(jù)進行分詞處理并存儲結果至新表,無縫集成至下游調度流程。

操作步驟

  1. 創(chuàng)建測試數(shù)據(jù)。

    1. 創(chuàng)建MaxCompute數(shù)據(jù)源,并在DataWorks數(shù)據(jù)開發(fā)中綁定已創(chuàng)建的MaxCompute數(shù)據(jù)源。詳情請參見創(chuàng)建MaxCompute數(shù)據(jù)源。

    2. 在數(shù)據(jù)開發(fā)中,創(chuàng)建ODPS節(jié)點,新建測試表并添加測試數(shù)據(jù)。

      說明

      如下示例使用了調度參數(shù),請在右側調度配置中設置參數(shù)名為bday,參數(shù)值為$[yyyymmdd]。

      -- 創(chuàng)建測試表
      CREATE TABLE IF NOT EXISTS custom_img_test_tb
      (
          c_customer_id BIGINT NOT NULL,
          c_customer_text STRING NOT NULL,
          PRIMARY KEY (c_customer_id)
      )
      COMMENT 'TABLE COMMENT'
      PARTITIONED BY (ds STRING COMMENT '分區(qū)')
      LIFECYCLE 90;
      
      -- 向表中插入測試數(shù)據(jù)
      INSERT INTO custom_img_test_tb PARTITION (ds='${bday}') (c_customer_id, c_customer_text) VALUES
      (1, '晚來天欲雪,能飲一杯無?'),
      (2, '月落烏啼霜滿天,江楓漁火對愁眠。'),
      (3, '山重水復疑無路,柳暗花明又一村。'),
      (4, '春眠不覺曉,處處聞啼鳥。'),
      (5, '靜夜思,床前明月光,疑是地上霜。'),
      (6, '海上生明月,天涯共此時。'),
      (7, '舊時王謝堂前燕,飛入尋常百姓家。'),
      (8, '一行白鷺上青天,窗含西嶺千秋雪。'),
      (9, '人生得意須盡歡,莫使金樽空對月。'),
      (10, '天生我材必有用,千金散盡還復來。');
    3. 保存并發(fā)布。

  2. 創(chuàng)建自定義鏡像。

    參見步驟二:創(chuàng)建自定義鏡像,關鍵參數(shù)如下:

    • 鏡像名稱/ID:選擇dataworks_pyodps_task_pod,DataWorks PYODPS節(jié)點官方鏡像。

    • 支持任務類型:選擇PyODPS 3。

    • 安裝包:選擇Python3jieba。

  3. 發(fā)布自定義鏡像并修改歸屬項目空間。具體請參見步驟三:發(fā)布鏡像步驟四:修改鏡像歸屬空間。

  4. 在調度任務中使用自定義鏡像。

    1. 在數(shù)據(jù)開發(fā)中,創(chuàng)建PyODPS3節(jié)點,配置如下內容:

      import jieba
      from odps import ODPS
      from odps.models import TableSchema as Schema, Column, Partition
      
      # 讀取表數(shù)據(jù)
      table = o.get_table('custom_img_test_tb')
      partition_spec = f"ds={args['bday']}"
      with table.open_reader(partition=partition_spec) as reader:
          records = [record for record in reader]
      
      # 對提取的文本進行分詞
      participles = [' | '.join(jieba.cut(record['c_customer_text'])) for record in records]
      
      # 創(chuàng)建目標表
      if not o.exist_table("participle_tb"):
          schema = Schema(columns=[Column(name='word_segment', type='string', comment='分詞結果')], partitions=[Column(name='ds', type='string', comment='分區(qū)字段')])
          o.create_table("participle_tb", schema)
      
      # 寫入分詞結果到目標表
      # 定義輸出分區(qū)和表
      output_partition = f"ds={args['bday']}"
      output_table = o.get_table("participle_tb")
      
      # 如果分區(qū)不存在,先創(chuàng)建分區(qū)
      if not output_table.exist_partition(output_partition):
          output_table.create_partition(output_partition)
      
      # 將分詞結果寫入表
      record = output_table.new_record()
      with output_table.open_writer(partition=output_partition, create_partition=True) as writer:
          for participle in participles:
              record['word_segment'] = participle
              writer.write(record)
    2. 在右側調度配置中,設置如下關鍵參數(shù):

      • 調度參數(shù):參數(shù)名bday,參數(shù)值為$[yyyymmdd]。

      • 調度資源組:選擇Serverless資源組,與發(fā)布鏡像時選擇的測試資源組相同。

      • 鏡像:選擇已發(fā)布并綁定了當前工作空間的自定義鏡像。

    3. 保存并帶參運行。

    4. (可選)新建臨時查詢,使用如下SQL查詢產出表中是否有數(shù)據(jù)。

      SELECT * FROM participle_tb WHERE ds=<分區(qū)日期>;

      image

    5. 將PyODPS節(jié)點發(fā)布至生產環(huán)境。

      說明

      數(shù)據(jù)開發(fā)中修改的鏡像不會同步到生產環(huán)境中,您需要通過發(fā)布任務將任務發(fā)布后,才能在生產環(huán)境中生效。

  5. 將自定義鏡像構建為持久化鏡像。具體請參見步驟六:構建持久化鏡像

相關文檔