Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Not
Bu sayfada, ilke tanımlarının JSON örnekleri kullanılır. JSON kullanarak bir ilke tanımlayabilir veya açılan menüleri ve diğer kullanıcı arabirimi öğelerini kullanarak ilke tanımlarını yapılandırmak için işlem ilkesi kullanıcı arabirimini kullanabilirsiniz.
Bu sayfa, kullanılabilir ilke özniteliklerinin ve sınırlama türlerinin listesi de dahil olmak üzere işlem ilkesi tanımları için bir başvurudur. Yaygın kullanım örnekleri için başvurabileceğiniz örnek ilkeler de vardır.
İlke tanımları nelerdir?
İlke tanımları, JSON ile ifade edilen tek tek ilke kurallarıdır.
Tanım, Kümeler API'ile denetlenen özniteliklerden herhangi birine bir kural ekleyebilir. Örneğin, bu tanımlar varsayılan bir otomatik belirleme süresi ayarlar, kullanıcıların havuz kullanmasını yasaklar ve Photon kullanımını zorlar:
{
"autotermination_minutes": {
"type": "unlimited",
"defaultValue": 4320,
"isOptional": true
},
"instance_pool_id": {
"type": "forbidden",
"hidden": true
},
"runtime_engine": {
"type": "fixed",
"value": "PHOTON",
"hidden": true
}
}
Öznitelik başına yalnızca bir sınırlama olabilir. Özniteliğin yolu API öznitelik adını yansıtır. İç içe öznitelikler için yol, iç içe öznitelik adlarını noktalar kullanarak birleştirir. İlke tanımında tanımlanmayan öznitelikler sınırlı değildir.
Kullanıcı arabirimi öğelerini kullanarak ilke tanımlarını yapılandırma
İlke formu, açılan menüleri ve diğer kullanıcı arabirimi öğelerini kullanarak ilke tanımlarını yapılandırmanıza olanak tanır. Bu, yöneticilerin ilke söz dizimini öğrenmek veya başvurmak zorunda kalmadan ilke yazabileceği anlamına gelir.
Form, tam ilke tanımının doğrudan JSON olarak düzenlenmesini de destekler. JSON'ı düzenlemek için:
- JSON düzenleyicisini açmak için Tanım bölümünün Gelişmiş seçenekler bölümündeki Tanımı JSON olarak düzenle düğmesine tıklayın.
- JSON tanımını görüntülemek için JSON sekmesine tıklayın. Bu sekmeden, düzenleyiciyi açmak için Tanımı JSON olarak düzenle'ye de tıklayabilirsiniz.
Ayrıca, Gelişmiş seçenekler'in altındaki Özel JSON alanına tek tek JSON kuralları eklenebilir.
Yeni politika formunun kullanılmasıyla bilinen sınırlamalar
İlke yeni işlem ilkesi formu tarafından desteklenmiyorsa, uyumsuz tanımlar Gelişmiş seçenekler bölümündeki özel JSON alanında görünür. Aşağıdaki alanlar için geçerli ilkelerin yalnızca bir alt kümesi desteklenir:
-
workload_type: İlke hem
workload_type.clients.notebooksileworkload_type.clients.jobstanımlamalıdır. Bu kuralların her biri yatrueya dafalseile düzeltilmelidir. -
dbus_per_hour: Yalnızca
maxValuebelirten veminValuebelirtmeyen aralık ilkeleri desteklenir. -
ssh_public_keys: Yalnızca sabit ilkeler desteklenir. Politikalar
ssh_public_keyshiçbir dizini atlamamalıdır. Örneğin,ssh_public_keys.0,ssh_public_keys.1,ssh_public_keys.2geçerli, ancakssh_public_keys.0,ssh_public_keys.2ssh_public_keys.3geçerli değil. -
cluster_log_conf: İzin
cluster_log_conf.pathlistesi veya bir engellenenler listesi olamaz. -
init_scripts: Dizine alınan ilkeler (yani,
init_scripts.0.volumes.destination) düzeltilmelidir. Yıldız karakter politikası (diğer bir ifadeyleinit_scripts.*.volumes.destination) yasaklanmalıdır. Dizine alınmış politikalar hiçbir dizini atlamamalıdır.
Desteklenen Öznitelikler
Politikalar, Kümeleri APIile denetlenen tüm öznitelikleri destekler. Özniteliklere yerleştirebileceğiniz kısıtlamaların türü, kullanıcı arabirimi öğelerine ve türlerine göre ayara göre farklılık gösterebilir. İşlem izinlerini tanımlamak için ilkeleri kullanamazsınız.
İlkeleri, saat başına maksimum DBU'ları ve küme türünü ayarlamak için de kullanabilirsiniz. bkz. Sanal öznitelik yolları.
Aşağıdaki tabloda desteklenen ilke öznitelik yolları listelenmektedir:
| Öznitelik yolu | Türk | Açıklama |
|---|---|---|
autoscale.max_workers |
isteğe bağlı numara | Gizlendiğinde, kullanıcı arabiriminden en fazla çalışan numarası alanını kaldırır. |
autoscale.min_workers |
isteğe bağlı numara | Gizlendiğinde, kullanıcı arabiriminden en düşük çalışan numarası alanını kaldırır. |
autotermination_minutes |
sayı | 0 değeri, otomatik sonlandırma olmadığını temsil eder. Gizlendiğinde, kullanıcı arabiriminden otomatik sonlandırma onay kutusunu ve değer girişini kaldırır. |
azure_attributes.availability |
String | İşlem kullanımının isteğe bağlı veya spot örnekleri (SPOT_AZURE, ON_DEMAND_AZUREveya SPOT_WITH_FALLBACK_AZURE) kullanıp kullanmadığını denetler. |
azure_attributes.first_on_demand |
sayı | Sürücü düğümünden başlayarak, kaç küme düğümünün isteğe bağlı örnekleri kullandığını denetler. Örneğin, değeri 1 sürücü düğümünü isteğe bağlı olarak ayarlar. değeri 2 , sürücü düğümünü ve bir çalışan düğümünü isteğe bağlı olarak ayarlar. |
azure_attributes.spot_bid_max_price |
sayı | Azure spot örnekleri için en yüksek fiyatı denetler. |
cluster_log_conf.path |
String | Günlük dosyalarının hedef URL'si. |
cluster_log_conf.type |
String | Kayıt hedef türü.
DBFS ve VOLUMES yalnızca kabul edilebilir değerlerdir. |
cluster_name |
String | Küme adı. |
custom_tags.* |
String | Etiket adını ekleyerek belirli etiket değerlerini denetleyin, örneğin: custom_tags.<mytag>. |
data_security_mode |
String | Kümenin erişim modunu ayarlar. Unity Kataloğu için SINGLE_USER veya USER_ISOLATION (kullanıcı arabiriminde Standarterişim modu) gerekir.
NONE değeri, hiçbir güvenlik özelliğinin etkinleştirilmemiş olduğu anlamına gelir. |
docker_image.basic_auth.password |
String | Databricks Container Services görüntü dosyası temel kimlik doğrulaması için parola. |
docker_image.basic_auth.username |
String | Databricks Container Services imajı için temel kimlik doğrulamada kullanılan kullanıcı adı. |
docker_image.url |
String | Databricks Container Services görüntü URL'sini denetler. Gizlendiğinde, kullanıcı arabiriminden Databricks Container Services bölümünü kaldırır. |
driver_node_type_id |
isteğe bağlı metin | Gizlendiğinde, kullanıcı arabiriminden sürücü düğümü türü seçimini kaldırır. |
driver_node_type_flexibility.alternate_node_type_ids |
String | Sürücü düğümü için alternatif düğüm türlerini belirtir. Yalnızca sabit ilkeler desteklenir. Bkz . Esnek düğüm türleri. |
enable_local_disk_encryption |
Boolean | Kümeye yerel olarak bağlı disklerin şifrelenmesini etkinleştirmek için true, devre dışı bırakmak için ise false olarak ayarlayın (API aracılığıyla belirtildiği gibi). |
init_scripts.*.workspace.destination
init_scripts.*.volumes.destination
init_scripts.*.abfss.destination
init_scripts.*.file.destination
|
String |
*, öznitelik dizisindeki init betiğinin dizinini belirtir. Bkz. dizi öznitelikleri için yazma ilkeleri . |
instance_pool_id |
String |
driver_instance_pool_id tanımlanmışsa çalışan düğümlerde kullanılan havuzu, aksi takdirde tüm küme düğümlerinde kullanılan havuzu denetler. Çalışan düğümleri için havuzlar kullanıyorsanız, sürücü düğümü için havuzları da kullanmanız gerekir. Gizlendiğinde, kullanıcı arabiriminden havuz seçimini kaldırır. |
driver_instance_pool_id |
String | Belirtilirse, sürücü düğümü için çalışan düğümlerinden farklı bir havuz yapılandırılır. Belirtilmezse, instance_pool_iddevralır. Çalışan düğümleri için havuzlar kullanıyorsanız, sürücü düğümü için havuzları da kullanmanız gerekir. Gizlendiğinde, kullanıcı arabiriminden sürücü havuzu seçimini kaldırır. |
is_single_node |
Boolean |
true olarak ayarlandığında, işlem kümesinin tek düğüm olması gerekir. Bu öznitelik yalnızca kullanıcı basit formu kullandığında desteklenir. |
node_type_id |
String | Gizlendiğinde, kullanıcı arayüzünden çalışan düğüm tipi seçimi kaldırılır. |
worker_node_type_flexibility.alternate_node_type_ids |
String | Çalışan düğümleri için alternatif düğüm türlerini belirtir. Yalnızca sabit ilkeler desteklenir. Bkz . Esnek düğüm türleri. |
num_workers |
isteğe bağlı numara | Gizlendiğinde, kullanıcı arabiriminden çalışan numarası belirtimini kaldırır. |
runtime_engine |
String | Kümenin Photon kullanıp kullanmadığını belirler. Olası değerler PHOTON veya STANDARD. |
single_user_name |
String | İşlem kaynağına hangi kullanıcıların veya grupların atanabileceğini denetler. |
spark_conf.* |
isteğe bağlı metin | Yapılandırma anahtarı adını ekleyerek belirli yapılandırma değerlerini denetler, örneğin: spark_conf.spark.executor.memory. |
spark_env_vars.* |
isteğe bağlı metin | Ortam değişkenini ekleyerek belirli Spark ortam değişkeni değerlerini denetler, örneğin: spark_env_vars.<environment variable name>. |
spark_version |
String | API (Databricks Runtime) aracılığıyla belirtilen Spark görüntü sürümü adı. Databricks Runtime'ı dinamik olarak seçen özel ilke değerlerini de kullanabilirsiniz. Bkz. Databricks Runtime seçimi için özel politika değerleri. |
use_ml_runtime |
Boolean | Databricks Runtime'ın ML sürümünün kullanılması gerekip gerekmediğini denetler. Bu öznitelik yalnızca kullanıcı basit formu kullandığında desteklenir. |
workload_type.clients.jobs |
Boolean | İşlem kaynağının işler için kullanılıp kullanılamayacağını tanımlar. Bakınız Hesaplamanın görevlerle kullanılmasını önleme. |
workload_type.clients.notebooks |
Boolean | İşlem kaynağının not defterleriyle birlikte kullanılıp kullanılamayacağını tanımlar. Bakınız Hesaplamanın görevlerle kullanılmasını önleme. |
Sanal öznitelik yolları
Bu tablo, ilkeler tarafından desteklenen iki ek yapay öznitelik içerir. Yeni ilke formunu kullanırsanız, bu öznitelikler Gelişmiş seçenekler bölümünde ayarlanabilir.
| Öznitelik yolu | Türk | Açıklama |
|---|---|---|
dbus_per_hour |
sayı | Bir kaynağın sürücü düğümü de dahil olmak üzere saatlik olarak kullanabileceği maksimum DBU sayısını temsil eden hesaplanan öznitelik. Bu ölçüm, maliyeti tek tek işlem düzeyinde denetlemenin doğrudan bir yoludur. Aralık sınırlamasıyla kullanın. |
cluster_type |
String | Oluşturulabilecek küme türünü temsil eder:
İlkeden belirtilen işlem türlerinin oluşturulmasına izin verin veya engelleyin. all-purpose değerine izin verilmiyorsa, ilke tüm amaçlar için hesaplama oluşturma kullanıcı arabiriminde gösterilmez.
job değerine izin verilmiyorsa, politika iş oluşturma hesaplama kullanıcı arabiriminde gösterilmez. |
Esnek düğüm türleri
Esnek düğüm türleri öznitelikleri, birincil düğüm türü kullanılamıyorsa işlem kaynağının kullanabileceği alternatif düğüm türlerini belirtmenize olanak sağlar. Bu özniteliklerin özel ilke gereksinimleri vardır:
- Yalnızca sabit ilkeler desteklenir. Diğer tüm ilke türlerine izin verilmez ve ilke oluşturma zamanında reddedilir.
- İlkede boş bir dize, alternatif düğüm türlerinin boş bir listesine eşlenir ve bu durum esnek düğüm türlerini etkin bir şekilde devre dışı bırakır.
Belirli bir düğüm türleri listesine düzeltme getirilmesi
Dize dizisi kullanan karşılık gelen Kümeler API'sinin alanlarından farklı olarak, işlem ilkesi öznitelikleri düğüm türleri dizisini virgülle ayrılmış liste olarak kodlayan tek bir dize değeri kullanır. Örneğin:
{
"worker_node_type_flexibility.alternate_node_type_ids": {
"type": "fixed",
"value": "nodeA,nodeB"
}
}
Atanmış ilkeye sahip bir işlem kaynağı oluşturmak için Kümeler API'sini kullanırsanız, Databricks, worker_node_type_flexibility ve driver_node_type_flexibility alanlarını ayarlamamanızı önerir. Bu alanları ayarlarsanız, dizinin düğüm türleri ve sırası ilkenin virgülle ayrılmış listesiyle tam olarak eşleşmelidir, aksi takdirde işlem oluşturulamaz. Örneğin, yukarıdaki ilke tanımı şu şekilde ayarlanır:
"worker_node_type_flexibility": {
"alternate_node_type_ids": ["nodeA", "nodeB"]
}
Esnek düğüm türlerini devre dışı bırakma
Esnek düğüm türlerini devre dışı bırakmak için değeri boş bir dize olarak ayarlayın. Örneğin:
{
"worker_node_type_flexibility.alternate_node_type_ids": {
"type": "fixed",
"value": ""
}
}
Databricks Runtime seçimi için özel ilke değerleri
spark_version özniteliği, mevcut desteklenen Databricks Runtime sürümleri kümesine göre, dinamik olarak bir Databricks Runtime sürümüne eşleşen özel değerleri destekler.
spark_version özniteliğinde aşağıdaki değerler kullanılabilir:
-
auto:latest: En son GA Databricks Runtime sürümüne karşılık gelir. -
auto:latest-ml: Databricks Runtime ML'nin son sürümüne karşılık gelir. -
auto:latest-lts: En son uzun vadeli destek (LTS) Databricks Runtime sürümüne haritalar. -
auto:latest-lts-ml: En son LTS Databricks Runtime ML sürümüyle eşleşir. -
auto:prev-major: İkinci en son GA Databricks Runtime sürümüne karşılık gelir. Örneğin,auto:latest14.2 iseauto:prev-major13.3 olur. -
auto:prev-major-ml: Bir önceki GA Databricks Runtime ML sürümüne karşılık gelir. Örneğin,auto:latest14.2 iseauto:prev-major13.3 olur. -
auto:prev-lts: İkinci en güncel LTS Databricks Runtime sürümüne karşılık gelir. Örneğin,auto:latest-lts13.3 iseauto:prev-lts12.2 olur. -
auto:prev-lts-ml: İkinci en son LTS Databricks Runtime ML sürümüne karşılık gelir. Örneğin,auto:latest-lts13.3 iseauto:prev-lts12.2 olur.
Not
Bu değerlerin kullanılması, yeni bir çalışma zamanı sürümü yayımlandığında işlem otomatik güncelleştirmesini yapmaz. Bir kullanıcının, Databricks Runtime sürümünü değiştirmek için hesaplama ortamını açıkça düzenlemesi gerekir.
Desteklenen ilke türleri
Bu bölüm, kullanılabilir ilke türlerinin her biri için bir başvuru içerir. İki ilke türü kategorisi vardır: sabit ilkeler ve sınırlama ilkeleri.
Bir öznitelikte kullanıcı yapılandırmasını engelleyen ilkeler düzeltildi. İki tür sabit ilke şunlardır:
İlkeleri sınırlamak, kullanıcının öznitelik yapılandırma seçeneklerini sınırlar. İlkeleri sınırlamak, varsayılan değerleri ayarlamanıza ve öznitelikleri isteğe bağlı hale getirmenize de olanak sağlar. Bkz. ek sınırlayıcı ilke alanları.
İlkeleri sınırlama seçenekleriniz şunlardır:
- İzin Verilenler Listesi ilkesi
- Engelleme Listesi Politikası
- Regex ilkesi
- Aralık politikası
- sınırsız ilke
Sabit ilke
Sabit ilkeler özniteliği belirtilen değerle sınırlar. Sayısal ve boole dışındaki öznitelik değerleri için değerin bir dizeyle temsil edilmesi veya dönüştürülebilir olması gerekir.
Sabit ilkelerle, hidden alanını trueolarak ayarlayarak özniteliği kullanıcı arabiriminden gizleyebilirsiniz.
interface FixedPolicy {
type: "fixed";
value: string | number | boolean;
hidden?: boolean;
}
Bu örnek ilke Databricks Runtime sürümünü düzeltir ve alanı kullanıcının kullanıcı arabiriminden gizler:
{
"spark_version": { "type": "fixed", "value": "auto:latest-lts", "hidden": true }
}
Yasak ilkesi
Yasak ilke, kullanıcıların bir özniteliği yapılandırmasını engeller. Yasak ilkeler yalnızca isteğe bağlı özniteliklerle uyumludur.
interface ForbiddenPolicy {
type: "forbidden";
}
Bu ilke, işçi düğümleri için hesaplama kaynaklarına havuz eklemeyi yasaklar. İlkeyi driver_instance_pool_id devraldığından, sürücü düğümü için havuzlar da yasaktır.
{
"instance_pool_id": { "type": "forbidden" }
}
İzin Verilenler Listesi ilkesi
İzin verilenler listesi ilkesi, bir özniteliği yapılandırırken kullanıcının aralarından seçim yapabileceğiniz değerlerin listesini belirtir.
interface AllowlistPolicy {
type: "allowlist";
values: (string | number | boolean)[];
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
Bu izin verilenler listesi örneği, kullanıcının iki Databricks Runtime sürümü arasında seçim yapmasını sağlar:
{
"spark_version": { "type": "allowlist", "values": ["13.3.x-scala2.12", "12.2.x-scala2.12"] }
}
Kullanıcıları izin verilenler listesinden bir değer seçmeye zorlama
İzin verilenler listesi ilkesi için varsayılan bir değer ayarlamazsanız, kullanıcı arabirimi varsayılan olarak izin verilenler listesindeki ilk değere ayarlanır. Kullanıcıyı bir değeri el ile seçmeye zorlamak için varsayılan değeri geçerli olmayan bir değer olarak ayarlayın. Örneğin: defaultValue?: "SELECT A VALUE";.
Yasaklı Liste ilkesi
Engelleyici listesi ilkesi, izin verilmeyen değerleri listeler. Değerlerin tam eşleşmeler olması gerektiğinden, öznitelik değerin temsili konusunda daha yumuşak olduğunda (örneğin, baştaki ve sondaki boşluklara izin verme) bu ilke beklendiği gibi çalışmayabilir.
interface BlocklistPolicy {
type: "blocklist";
values: (string | number | boolean)[];
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
Bu örnek kullanıcının Databricks Runtime olarak 7.3.x-scala2.12 seçmesini engeller.
{
"spark_version": { "type": "blocklist", "values": ["7.3.x-scala2.12"] }
}
Regex politikası
Bir regex ilkesi, kullanılabilir değerleri regex ile eşleşen değerlerle sınırlar. Güvenlik için, regex'inizin metin dizisinin başına ve sonuna bağlı olduğundan emin olun.
interface RegexPolicy {
type: "regex";
pattern: string;
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
Bu örnek, bir kullanıcının seçebileceği Databricks Runtime sürümlerini sınırlar:
{
"spark_version": { "type": "regex", "pattern": "13\\.[3456].*" }
}
Aralık politikası
Aralık ilkesi, minValue ve maxValue alanlarını kullanarak değeri belirtilen aralıkla sınırlar. Değer ondalık bir sayı olmalıdır.
Sayısal sınırlar çift kayan nokta değeri olarak gösterilebilir olmalıdır. Belirli bir sınırın eksik olduğunu belirtmek için minValue veya maxValueatlayabilirsiniz.
interface RangePolicy {
type: "range";
minValue?: number;
maxValue?: number;
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
Bu örnek, en fazla çalışan miktarını 10 ile sınırlar:
{
"num_workers": { "type": "range", "maxValue": 10 }
}
sınırsız ilke
Sınırsız ilke, öznitelikleri gerekli hale getirmek veya kullanıcı arabiriminde varsayılan değeri ayarlamak için kullanılır.
interface UnlimitedPolicy {
type: "unlimited";
defaultValue?: string | number | boolean;
isOptional?: boolean;
}
Bu örnek, COST_BUCKET etiketini hesaplamaya ekler:
{
"custom_tags.COST_BUCKET": { "type": "unlimited" }
}
Spark yapılandırma değişkeni için varsayılan bir değer ayarlamak ve aynı zamanda bu değişkenin atlanmasına (kaldırılmasına) izin vermek için:
{
"spark_conf.spark.my.conf": { "type": "unlimited", "isOptional": true, "defaultValue": "my_value" }
}
Ek sınırlama ilkesi alanları
İlke türlerini sınırlamak için iki ek alan belirtebilirsiniz:
-
defaultValue- hesaplama işlemi oluşturma kullanıcı arabiriminde otomatik olarak doldurulan değer. -
isOptional- Öznitelik üzerindeki sınırlama ilkesi bunu otomatik olarak gerekli kılar. Özniteliği isteğe bağlı hale getirmek içinisOptionalalanınıtrueolarak ayarlayın.
Not
Varsayılan değerler , Kümeler API'siyle oluşturulan işlem için otomatik olarak uygulanmaz. API kullanarak varsayılan değerleri uygulamak için işlem tanımına apply_policy_default_values parametresini ekleyin ve trueolarak ayarlayın.
Bu örnek ilke, çalışan düğümleri için havuza varsayılan değer olarak id1'ı belirtir, ancak bunu isteğe bağlı hale getirir. Hesaplama oluştururken farklı bir havuz seçebilir veya havuz kullanmamayı tercih edebilirsiniz. Eğer driver_instance_pool_id ilkede tanımlanmamışsa veya işlem oluşturulurken tanımlanmamışsa, çalışan düğümleri ve sürücü düğümü için aynı havuz kullanılır.
{
"instance_pool_id": { "type": "unlimited", "isOptional": true, "defaultValue": "id1" }
}
dizi öznitelikleri için yazma ilkeleri
Dizi öznitelikleri için ilkeleri iki şekilde belirtebilirsiniz:
- Tüm dizi öğeleri için genel sınırlamalar. Bu sınırlamalar, ilke yolundaki
*joker karakter simgesini kullanır. - Belirli bir indisteki bir dizi elemanı için belirli kısıtlamalar. Bu sınırlamalar, yol içinde bir sayı kullanır.
Not
Esnek düğüm türleri öznitelikleri (worker_node_type_flexibility.alternate_node_type_ids ve driver_node_type_flexibility.alternate_node_type_ids) Kümeler API'sindeki dizi türündeki alanlardır, ancak burada belgelenen joker/dizinli yol desenini izlemez. Bu öznitelikler, tam listeyi virgülle ayrılmış dize olarak belirten tek bir ilke kuralı gerektirir. Ayrıntılar için bkz . Esnek düğüm türleri .
Örneğin, init_scriptsdizi özniteliği için, genel yollar init_scripts.* ile başlar ve init_scripts.<n>ile belirli yollar başlar; burada <n> dizideki bir tamsayı dizinidir (0 ile başlar).
Genel sınırlamaları ve belirli sınırlamaları birleştirebilirsiniz; bu durumda, genel sınırlama belirli bir sınırlaması olmayan her dizi öğesi için geçerlidir. Her durumda yalnızca bir ilke sınırlaması uygulanır.
Aşağıdaki bölümlerde dizi özniteliklerini kullanan yaygın örneklerin örnekleri gösterilmektedir.
Eklemeye özgü girdiler gerektir
Sırayı belirtmeden belirli değerlere ihtiyacınız olamaz. Örneğin:
{
"init_scripts.0.volumes.destination": {
"type": "fixed",
"value": "<required-script-1>"
},
"init_scripts.1.volumes.destination": {
"type": "fixed",
"value": "<required-script-2>"
}
}
Listenin tamamında sabit bir değer iste
{
"init_scripts.0.volumes.destination": {
"type": "fixed",
"value": "<required-script-1>"
},
"init_scripts.*.volumes.destination": {
"type": "forbidden"
}
}
Kullanımdan tamamen izin verme
{
"init_scripts.*.volumes.destination": {
"type": "forbidden"
}
}
Belirli bir kısıtlamayı izleyen girişlere izin ver
{
"init_scripts.*.volumes.destination": {
"type": "regex",
"pattern": ".*<required-content>.*"
}
}
Belirli bir başlatma betikleri kümesini düzeltme
init_scripts yol olması durumunda dizi, kullanım örneğine bağlı olarak tüm olası değişkenlerin işlenmesi gerekebilecek birden çok yapıdan birini içerebilir. Örneğin, belirli bir başlatma betikleri kümesi gerektirmek ve diğer sürümün herhangi bir varyantına izin vermemek için aşağıdaki deseni kullanabilirsiniz:
{
"init_scripts.0.volumes.destination": {
"type": "fixed",
"value": "<volume-paths>"
},
"init_scripts.1.volumes.destination": {
"type": "fixed",
"value": "<volume-paths>"
},
"init_scripts.*.workspace.destination": {
"type": "forbidden"
},
"init_scripts.*.abfss.destination": {
"type": "forbidden"
},
"init_scripts.*.file.destination": {
"type": "forbidden"
}
}
İlke örnekleri
Bu bölüm, kendi ilkelerinizi oluşturmak için başvuru olarak kullanabileceğiniz ilke örneklerini içerir. Azure Databricks tarafından sağlanan ilke ailelerini de yaygın ilke kullanım örnekleri için şablon olarak kullanabilirsiniz.
- Genel işlem ilkesi
- Lakeflow Spark Bildirimli İşlem Hatlarının hesaplama sınırlarını tanımlayın
- Basit orta ölçekli ilke
- sadece iş politikası
- Dış meta veri deposu ilkesi
- Hesaplama kaynağının görevlerle kullanılmasını önleme
- Otomatik ölçeklendirme ilkesini kaldırma
- Özel etiket zorunlu kılma
Genel işlem ilkesi
Kullanıcılara yol göstermeyi ve bazı işlevleri kısıtlamayı, etiketlere ihtiyaç duymayı, örnek sayısı üst sınırını kısıtlamayı ve zaman aşımını zorlamayı amaçlayan genel amaçlı bir işlem ilkesi.
{
"instance_pool_id": {
"type": "forbidden",
"hidden": true
},
"spark_version": {
"type": "regex",
"pattern": "12\\.[0-9]+\\.x-scala.*"
},
"node_type_id": {
"type": "allowlist",
"values": ["Standard_L4s", "Standard_L8s", "Standard_L16s"],
"defaultValue": "Standard_L16s_v2"
},
"driver_node_type_id": {
"type": "fixed",
"value": "Standard_L16s_v2",
"hidden": true
},
"autoscale.min_workers": {
"type": "fixed",
"value": 1,
"hidden": true
},
"autoscale.max_workers": {
"type": "range",
"maxValue": 25,
"defaultValue": 5
},
"autotermination_minutes": {
"type": "fixed",
"value": 30,
"hidden": true
},
"custom_tags.team": {
"type": "fixed",
"value": "product"
}
}
Lakeflow Spark Deklaratif İşlem Hatları hesaplamasında sınırları tanımlama
Not
Databricks, Lakeflow Spark Beyanımsal İşlem Hatları hesaplama işlemini yapılandırmak için ilkeler kullanırken, hem default hem de maintenance hesaplama için tek bir ilkenin uygulanmasını önerir.
Boru hattı hesaplaması için bir ilke yapılandırmak üzere, cluster_type alanı dlt olarak ayarlanmış bir ilke oluşturun. Aşağıdaki örnek, Lakeflow Spark Deklaratif İşlem Hatları hesaplaması için temel bir politika oluşturur.
{
"cluster_type": {
"type": "fixed",
"value": "dlt"
},
"num_workers": {
"type": "unlimited",
"defaultValue": 3,
"isOptional": true
},
"node_type_id": {
"type": "unlimited",
"isOptional": true
},
"spark_version": {
"type": "unlimited",
"hidden": true
}
}
Basit orta ölçekli ilke
Kullanıcıların minimum yapılandırmayla orta ölçekli bir işlem oluşturmasına olanak tanır. Oluşturma zamanında gereken tek alan işlem adıdır; gerisi sabittir ve gizlenir.
{
"instance_pool_id": {
"type": "forbidden",
"hidden": true
},
"spark_conf.spark.databricks.cluster.profile": {
"type": "forbidden",
"hidden": true
},
"autoscale.min_workers": {
"type": "fixed",
"value": 1,
"hidden": true
},
"autoscale.max_workers": {
"type": "fixed",
"value": 10,
"hidden": true
},
"autotermination_minutes": {
"type": "fixed",
"value": 60,
"hidden": true
},
"node_type_id": {
"type": "fixed",
"value": "Standard_L8s_v2",
"hidden": true
},
"driver_node_type_id": {
"type": "fixed",
"value": "Standard_L8s_v2",
"hidden": true
},
"spark_version": {
"type": "fixed",
"value": "auto:latest-ml",
"hidden": true
},
"custom_tags.team": {
"type": "fixed",
"value": "product"
}
}
Sadece işe yönelik politika
Kullanıcıların işleri çalıştırmak için hesaplama görevleri oluşturmasına olanak tanır. Kullanıcılar bu ilkeyi kullanarak tüm amaçlı işlem oluşturamaz.
{
"cluster_type": {
"type": "fixed",
"value": "job"
},
"dbus_per_hour": {
"type": "range",
"maxValue": 100
},
"instance_pool_id": {
"type": "forbidden",
"hidden": true
},
"num_workers": {
"type": "range",
"minValue": 1
},
"node_type_id": {
"type": "regex",
"pattern": "Standard_[DLS]*[1-6]{1,2}_v[2,3]"
},
"driver_node_type_id": {
"type": "regex",
"pattern": "Standard_[DLS]*[1-6]{1,2}_v[2,3]"
},
"spark_version": {
"type": "unlimited",
"defaultValue": "auto:latest-lts"
},
"custom_tags.team": {
"type": "fixed",
"value": "product"
}
}
Dış meta veri deposu ilkesi
Kullanıcıların zaten ekli yönetici tanımlı bir meta veri deposuyla işlem oluşturmasına olanak tanır. Bu, kullanıcıların ek yapılandırma gerektirmeden kendi işlemlerini oluşturmasına olanak sağlamak için kullanışlıdır.
{
"spark_conf.spark.hadoop.javax.jdo.option.ConnectionURL": {
"type": "fixed",
"value": "jdbc:sqlserver://<jdbc-url>"
},
"spark_conf.spark.hadoop.javax.jdo.option.ConnectionDriverName": {
"type": "fixed",
"value": "com.microsoft.sqlserver.jdbc.SQLServerDriver"
},
"spark_conf.spark.databricks.delta.preview.enabled": {
"type": "fixed",
"value": "true"
},
"spark_conf.spark.hadoop.javax.jdo.option.ConnectionUserName": {
"type": "fixed",
"value": "<metastore-user>"
},
"spark_conf.spark.hadoop.javax.jdo.option.ConnectionPassword": {
"type": "fixed",
"value": "<metastore-password>"
}
}
Hesaplamanın işlerle kullanılmasını engelleme
Bu ilke, kullanıcıların görevleri çalıştırmak için bilgisayar sistemini kullanmasını engeller. Kullanıcılar yalnızca not defterleriyle hesaplama yapabilecek.
{
"workload_type.clients.notebooks": {
"type": "fixed",
"value": true
},
"workload_type.clients.jobs": {
"type": "fixed",
"value": false
}
}
Otomatik ölçeklendirme ilkesini kaldırma
Bu ilke otomatik ölçeklendirmeyi devre dışı bırakır ve kullanıcının belirli bir aralıktaki çalışan sayısını ayarlamasına olanak tanır.
{
"num_workers": {
"type": "range",
"maxValue": 25,
"minValue": 1,
"defaultValue": 5
}
}
Özel Etiket Zorlama
İlkeye işlem etiketi kuralı eklemek için custom_tags.<tag-name> özniteliğini kullanın.
Örneğin, bu politikayı kullanan herhangi bir kullanıcının işlemi başlatmak için COST_CENTER etiketini 9999, 9921 veya 9531 ile doldurması gerekir.
{ "custom_tags.COST_CENTER": { "type": "allowlist", "values": ["9999", "9921", "9531"] } }