三角洲生活表設置
三角洲生活表設置指定一個或多個筆記本,實現管道和管道參數指定如何運行的環境,例如,開發、分期或生產。三角洲生活表設置表示為JSON,可以修改三角洲生活表界麵。
設置
字段 |
---|
id 類型: 這個管道全局惟一標識符。係統標識符分配的,不能更改。 |
的名字 類型: 一個用戶友好的名稱。這個名字可以用來識別管道工作在UI中。 |
存儲 類型: 位置DBFS和雲存儲在輸出數據和元數據所需的管道執行存儲。表和元數據存儲在子目錄的位置。 當 的 |
配置 類型: 一個可選的設置添加到列表的火花配置集群運行的管道。這些設置由三角洲生活讀表運行時和用於管道通過火花配置查詢。 元素必須被格式化 看到參數化管道使用的一個例子 |
庫 類型: 筆記本的數組包含管道代碼和所需的工件。看到在管道配置多個筆記本了一個例子。 |
集群 類型: 數組的規範集群運行管道。看到集群配置更多的細節。 如果不指定這個值,管道會自動選擇一個默認集群配置管道。 |
發展 類型: 一個標誌指示是否運行的管道 默認值是 |
連續 類型: 一個標誌指示是否運行管道不斷。 默認值是 |
目標 類型: 的名稱數據庫持久化管道輸出數據。配置 |
通道 類型: 版本的三角洲住表運行時使用。支持的值是:
的 |
版 類型 三角洲生活表產品版本管道運行。此設置允許你選擇最好的產品版本基於管道的需求:
的 |
光子 類型: 一個標誌指示是否使用光子運行時管道運行。光子是磚高性能火花的引擎。光子使管道比non-Photon管道宣傳以不同的速度。 的 |
pipelines.maxFlowRetryAttempts 類型: 的最大數量嚐試失敗重試前流管道更新發生的事情失敗時。 默認值是2。默認情況下,當事情發生故障,三角洲生活表運行時嚐試運行流三次包括最初的嚐試。 |
pipelines.numUpdateRetryAttempts 類型: 嚐試重試的最大數量更新之前沒有更新發生的事情失敗時。運行一個完整的更新重試。 默認值是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 |
---|
默認是基於流型:
值是一個數字加上時間單位。以下是有效時間單位:
您可以使用單數或複數單位在定義值,例如:
|
集群配置
您可以配置使用的集群管理管道的JSON格式創建集群API。您可以指定集群配置兩個不同的類型:a默認的集群的所有處理和執行維護集群在日常運行維護任務。每個集群標識使用標簽
字段。
指定集群屬性是可選的,和任何失蹤的係統使用默認值。
請注意
你不能在集群配置中設置火花版本。三角洲生活表集群上運行一個自定義的磚運行時版本不斷更新,包括最新的功能。手動設置一個版本可能導致管道故障。
因為δ生活表集群自動關閉不使用的時候,引用一個集群政策,集
autotermination_minutes
在您的集群配置會導致錯誤。關閉控製集群行為,您可以使用開發或生產方式或使用pipelines.clusterShutdown.delay
設置在管道配置。下麵的示例設置pipelines.clusterShutdown.delay
價值60秒:{“配置”:{“pipelines.clusterShutdown.delay”:“六十年代”}}
當
生產
模式被啟用,默認值pipelines.clusterShutdown.delay
是0秒
。當發展
模式被啟用,默認值是2小時
。如果你設置
num_workers
0在集群環境中,作為創建集群單節點集群。配置自動定量集群和設置min_workers
為0,max_workers
0還創建了單個節點集群。如果你配置一個自動定量集群和設置
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或δ生活表界麵:
在管道的細節為你的管道頁,單擊設置按鈕。的管道的設置頁麵出現。
單擊JSON按鈕。
輸入的實例配置文件配置
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_1和example-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}”;
@dlt。表defcustomer_events():start_date=火花。相依。得到(“mypipeline.startDate”)返回讀(“sourceTable”)。在哪裏(上校(“日期”)>start_date)
{“名稱”:“數據攝取- DEV”,“配置”:{“mypipeline.startDate”:“2021-01-02”}}
{“名稱”:“數據攝取刺激”,“配置”:{“mypipeline.startDate”:“2010-01-02”}}