三角洲生活表設置

三角洲生活表設置指定一個或多個筆記本,實現管道和管道參數指定如何運行的環境,例如,開發、分期或生產。三角洲生活表設置表示為JSON,可以修改三角洲生活表界麵

設置

字段

id

類型:字符串

這個管道全局惟一標識符。係統標識符分配的,不能更改。

的名字

類型:字符串

一個用戶友好的名稱。這個名字可以用來識別管道工作在UI中。

存儲

類型:字符串

位置DBFS和雲存儲在輸出數據和元數據所需的管道執行存儲。表和元數據存儲在子目錄的位置。

存儲沒有指定設置,係統將默認的位置dbfs: /管道/

存儲設置創建一個管道不得更改。

配置

類型:對象

一個可選的設置添加到列表的火花配置集群運行的管道。這些設置由三角洲生活讀表運行時和用於管道通過火花配置查詢。

元素必須被格式化鍵:值對。

看到參數化管道使用的一個例子配置對象。

類型:數組對象

筆記本的數組包含管道代碼和所需的工件。看到在管道配置多個筆記本了一個例子。

集群

類型:數組對象

數組的規範集群運行管道。看到集群配置更多的細節。

如果不指定這個值,管道會自動選擇一個默認集群配置管道。

發展

類型:布爾

一個標誌指示是否運行的管道發展生產模式。看到開發和生產模式

默認值是真正的

連續

類型:布爾

一個標誌指示是否運行管道不斷。

默認值是

目標

類型:字符串

的名稱數據庫持久化管道輸出數據。配置目標設置允許您查看和查詢的管道輸出數據磚UI。

通道

類型:字符串

版本的三角洲住表運行時使用。支持的值是:

  • 預覽測試你的管道運行時版本即將到來的變化。

  • 當前的使用當前的運行時版本。

通道字段是可選的。默認值是當前的。磚建議使用當前的運行時版本為生產工作負載。

類型字符串

三角洲生活表產品版本管道運行。此設置允許你選擇最好的產品版本基於管道的需求:

  • 核心流攝取工作負載運行。

  • 運行流攝取和變化數據捕獲(CDC)工作負載。

  • 先進的流攝取工作負載運行,疾控中心的工作負載,負載需要三角洲住表預期執行數據質量約束。

字段是可選的。默認值是先進的

光子

類型:布爾

一個標誌指示是否使用光子運行時管道運行。光子是磚高性能火花的引擎。光子使管道比non-Photon管道宣傳以不同的速度。

光子字段是可選的。默認值是

pipelines.maxFlowRetryAttempts

類型:int

的最大數量嚐試失敗重試前流管道更新發生的事情失敗時。

默認值是2。默認情況下,當事情發生故障,三角洲生活表運行時嚐試運行流三次包括最初的嚐試。

pipelines.numUpdateRetryAttempts

類型:int

嚐試重試的最大數量更新之前沒有更新發生的事情失敗時。運行一個完整的更新重試。

默認值是5。這個參數隻適用於在生產模式下運行觸發更新。沒有重試時管道在開發模式下運行。

管道觸發間隔

您可以使用pipelines.trigger.interval控製流的觸發間隔更新一個表或一個完整的管道。因為引發管道過程隻有一次,每個表pipelines.trigger.interval隻有使用連續的管道

磚建議設置pipelines.trigger.interval在單個表上,因為不同的默認值為流和批處理查詢。將值設置在管道隻有當你處理需要控製整個管道更新圖。

你設置pipelines.trigger.interval在桌子上使用spark_conf在Python中,或在SQL:

@dlt(spark_conf={“pipelines.trigger.interval”:“10秒”})def<函數- - - - - -的名字>():返回(<查詢>)
管道觸發時間間隔=“10秒”;創建刷新生活TABLE_NAME作為選擇

設置pipelines.trigger.interval在一個管道,將其添加到配置對象在管道設置:

{“配置”:{“pipelines.trigger.interval”:“10秒”}}

pipelines.trigger.interval

默認是基於流型:

  • 5秒為流查詢。

  • 一分鍾完成查詢的所有輸入數據時是三角洲來源。

  • 十分鍾完成一些數據源可能non-Delta時查詢。看到表和視圖在連續管道

值是一個數字加上時間單位。以下是有效時間單位:

  • 第二個,

  • 一分鍾,分鍾

  • 小時,小時

  • 一天,

您可以使用單數或複數單位在定義值,例如:

  • {“pipelines.trigger.interval”:“1一小時”}

  • {“pipelines.trigger.interval”:“十秒"}

  • {“pipelines.trigger.interval”:“30第二個“}

  • {“pipelines.trigger.interval”:“1分鍾”}

  • {“pipelines.trigger.interval”:“十分鍾”}

  • {“pipelines.trigger.interval”:“十分鍾”}

集群配置

您可以配置使用的集群管理管道的JSON格式創建集群API。您可以指定集群配置兩個不同的類型:a默認的集群的所有處理和執行維護集群在日常運行維護任務。每個集群標識使用標簽字段。

指定集群屬性是可選的,和任何失蹤的係統使用默認值。

請注意

  • 你不能在集群配置中設置火花版本。三角洲生活表集群上運行一個自定義的磚運行時版本不斷更新,包括最新的功能。手動設置一個版本可能導致管道故障。

  • 因為δ生活表集群自動關閉不使用的時候,引用一個集群政策,集autotermination_minutes在您的集群配置會導致錯誤。關閉控製集群行為,您可以使用開發或生產方式或使用pipelines.clusterShutdown.delay設置在管道配置。下麵的示例設置pipelines.clusterShutdown.delay價值60秒:

    {“配置”:{“pipelines.clusterShutdown.delay”:“六十年代”}}

    生產模式被啟用,默認值pipelines.clusterShutdown.delay0。當發展模式被啟用,默認值是2小時

  • 如果你設置num_workers0在集群環境中,作為創建集群單節點集群。配置自動定量集群和設置min_workers為0,max_workers0還創建了單個節點集群。

    如果你配置一個自動定量集群和設置min_workers為0,那麼集群不是作為單個節點創建集群。集群有至少1活躍職工時刻直到終止。

    一個示例集群配置創建一個節點集群在三角洲住表:

    {“集群”:({“標簽”:“默認”,“num_workers”:0}]}

請注意

如果你需要一個實例配置文件或其他配置訪問你的存儲位置,指定它的默認集群和維護集群。

一個示例配置一個默認集群和維護集群:

{“集群”:({“標簽”:“默認”,“node_type_id”:“c5.4xlarge”,“driver_node_type_id”:“c5.4xlarge”,“num_workers”:20.,“spark_conf”:{“spark.databricks.io.parquet.nativeReader.enabled”:“假”},“aws_attributes”:{“instance_profile_arn”:“攻擊:aws:…”}},{“標簽”:“維護”,“aws_attributes”:{“instance_profile_arn”:“攻擊:aws:…”}}]}

雲存儲配置

您使用AWS實例配置文件來配置訪問在AWS S3存儲。你配置一個AWS實例配置文件通過編輯JSON集群設置你的管道。當你可以添加實例配置文件配置創建編輯管道的現場表API或δ生活表界麵:

  1. 管道的細節為你的管道頁,單擊設置按鈕。的管道的設置頁麵出現。

  2. 單擊JSON按鈕。

  3. 輸入的實例配置文件配置aws_attributes.instance_profile_arn在集群配置:

{“集群”:({“標簽”:“默認”,“aws_attributes”:{“instance_profile_arn”:“攻擊:aws:…”}},{“標簽”:“維護”,“aws_attributes”:{“instance_profile_arn”:“攻擊:aws:…”}}]}

您必須指定默認的實例配置文件配置和維護集群。

您還可以配置概要文件當您創建實例集群政策δ住表管道。例如,看到知識庫

集群政策

請注意

當使用集群政策配置三角洲集群生活表,磚應用單個策略的建議默認的維護集群。

配置一個集群政策對於管道集群中,創建一個與政策cluster_type字段設置為dlt:

{“cluster_type”:{“類型”:“固定”,“價值”:“dlt”}}

在管道的設置,設置集群policy_id字段標識符的值政策。下麵的示例配置默認的維護使用集群的集群政策的標識符C65B864F02000008

{“集群”:({“標簽”:“默認”,“policy_id”:“C65B864F02000008”,“自動定量”:{“min_workers”:1,“max_workers”:5,“模式”:“增強”}},{“標簽”:“維護”,“policy_id”:“C65B864F02000008”}]}

為創建和使用一個集群政策的一個例子,看看定義限製管道集群

例子

配置一個管道和集群

下麵的示例配置引起管道中實現example-notebook_1、使用DBFS存儲和運行在一個小一個節點集群:

{“名稱”:“示例管道1”,“存儲”:“dbfs: / pipeline-examples /存儲位置/例二”,“集群”:({“num_workers”:1,“spark_conf”:{}}),“庫”:({“筆記本”:{“路徑”:“/用戶/ user@www.eheci.com/example_notebook_1”}}),“連續”:}

在管道配置多個筆記本

使用與多個筆記本領域配置一個管道。在任何順序您可以添加筆記,因為三角洲生活表自動分析數據集構建管道的加工圖的依賴性。下麵的示例創建一個管道,包括中定義的數據集example-notebook_1example-notebook_2:

{“名稱”:“例如管道3”,“存儲”:“dbfs: / pipeline-examples /存儲位置/青年們”,“庫”:({“筆記本”:{“路徑”:“/ example-notebook_1”}},{“筆記本”:{“路徑”:“/ example-notebook_2”}}]}

從一個工作區文件導入代碼

除了使用字段包含管道代碼的配置的筆記本電腦,您還可以配置管道代碼存儲在一個源文件數據磚回購。指定一個包含管道代碼源文件的路徑,使用文件字段:

{“庫”:({“文件”:{“路徑”:“回購/ < user_name > @www.eheci.com/Apply_Changes_Into/apply_changes_into.sql”}},{“文件”:{“路徑”:“回購/ < user_name > @www.eheci.com/Apply_Changes_Into/apply_changes_into.py”}}]}

創建一個開發流程與達美住表

您可以創建單獨的三角洲住表發展管道,登台和生產,允許您測試和調試您的轉換邏輯而不影響數據產生的消費者。簡單地創建單獨的管道,目標不同的數據庫,但是使用相同的底層代碼。

你可以把這個功能磚回購創建一個完全隔離的開發環境和一個簡單的工作流將從開發到生產。

{“名稱”:“數據攝取- DEV user@databricks”,“目標”:“beplay体育app下载地址customers_dev_user”,“庫”:(“回購/ user@www.eheci.com/ingestion/etl.py”),}
{“名稱”:“數據攝取刺激”,“目標”:“beplay体育app下载地址顧客”,“庫”:(“/回購/生產/攝入/ etl.py”),}

參數化管道

Python和SQL代碼定義了你的數據集可以參數化管道的設置。參數化使以下用例:

  • 從你的代碼分離長路徑和其他變量。

  • 減少處理的數據量在開發或登台環境加速試驗。

  • 重用相同的轉換邏輯來處理來自多個數據源。

下麵的例子使用了startDate可以配置值限製開發管道輸入數據的一個子集:

創建刷新生活customer_events作為選擇*sourceTable在哪裏日期>“$ {mypipeline.startDate}”;
@dltdefcustomer_events():start_date=火花相依得到(“mypipeline.startDate”)返回(“sourceTable”)在哪裏(上校(“日期”)>start_date)
{“名稱”:“數據攝取- DEV”,“配置”:{“mypipeline.startDate”:“2021-01-02”}}
{“名稱”:“數據攝取刺激”,“配置”:{“mypipeline.startDate”:“2010-01-02”}}