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.
Şunlar için geçerlidir: Databricks SQL
Databricks Runtime
İşlev çağrısı, bağımsız değişkenleri işlevin parametreleriyle ilişkilendirdikten sonra yerleşik bir işlevi veya kullanıcı tanımlı bir işlevi yürütür.
Azure Databricks hem konumsal parametre çağırmayı hem de adlandırılmış parametre çağırmayı destekler.
Konumsal parametre çağırma
Her bağımsız değişken, belirtilen konumda eşleşen parametreye atanır.
Bu gösterim, adlandırılmış parametre çağırma gerekliliği açıkça belgelenmedikçe tüm işlevler tarafından kullanılabilir.
İşlev isteğe bağlı parametreleri destekliyorsa, bağımsız değişken belirtilmemiş olan sondaki parametreler varsayılan olarak belirlenir.
Adlandırılmış parametre çağırma
Bağımsız değişkenler, işlev tarafından yayımlanan parametre adları kullanılarak parametrelere açıkça atanır.
Bu gösterimin, yerleşik işlevlerin çok sayıda isteğe bağlı parametreye izin veren belirli bir alt kümesi için kullanılması gerekir ve bu da konumsal parametre çağırmayı kullanışsız hale getirir. Bu işlevler, öndeki parametre kümesinin konuma göre ve sondaki isteğe bağlı parametre kümesine isimle atanması beklenen karışık bir çağrıya izin verebilir.
Karışık çağırma da dahil olmak üzere adlandırılmış parametre çağırma, SQL UDF ve Python UDF için de kullanılabilir.
Sözdizimi
function_name ( [ argExpr | table_argument | star_clause ] [, ...]
[ namedParameter => [ argExpr | table_argument ] [, ...] )
table_argument
{ TABLE ( { table_name | query } )
[ table_partition ]
[ table_order ]
table_partitioning
{ WITH SINGLE PARTITION |
{ PARTITION | DISTRIBUTE } BY { partition_expr | ( partition_expr [, ...] ) } }
table_ordering
{ { ORDER | SORT } BY { order_by_expr | ( order_by_expr [, ...] } }
Parametreler
-
Yerleşik veya kullanıcı tanımlı işlevin adı. Nitelenmemiş bir
function_name
çözümlendiğinde Azure Databricks önce yerleşik veya geçici bir işlevi, sonra da geçerli şemadaki bir işlevi dikkate alır. -
İlişkili olduğu parametreye örtük olarak dönüştürülebilen herhangi bir ifade.
İşlev, bağımsız değişken üzerinde sabit değerler, sabit ifadelerveya belirli değerler talep etme gibi daha fazla kısıtlama uygulayabilir.
-
Tüm başvurulabilir sütunları veya
FROM
yan tümcesindeki belirli bir tablo başvurusunun sütunlarını veya alanlarını adlandırmak için bir kısaltma. tablo_argümanı
Databricks SQL
Databricks Runtime 14.0 ve üzeri
Bir tablo parametresi için bir bağımsız değişken tanımlar.
TABLE
( table_name )Adına göre işlev için geçirecek tabloyu belirler.
TABLE
( sorgu )query
sonucunu işleve iletir.tablo bölümleme
Databricks SQL
Databricks Runtime 14.1 ve üzeri
Tablo argümanının bölümlendiğini isteğe bağlı olarak belirtir. Belirtilmezse bölümleme Azure Databricks tarafından belirlenir.
WITH SINGLE PARTITION
Tablo bağımsız değişkeni bölümlenmez.
-
Tablo bağımsız değişkenini bölümlemeyi tanımlayan bir veya daha fazla ifade. Her ifade, tablo argümanında yer alan sütunlardan, değişmez değerlerden, parametrelerden, değişkenlerden ve belirleyici işlevlerden oluşabilir.
table-ordering
Databricks SQL
Databricks Runtime 14.1 ve üzeri
İsteğe bağlı olarak, tablo bağımsız değişkeninin her bölümünün sonuç satırlarının işlev tarafından işleme alınma sırasını belirtir.
Varsayılan olarak, sipariş tanımlanmamıştır.
-
Bir veya daha fazla ifade. Her ifade, tablo argümanında yer alan sütunlardan, değişmez değerlerden, parametrelerden, değişkenlerden ve belirleyici işlevlerden oluşabilir.
-
-
Databricks SQL
Databricks Runtime 14.0 ve üzeri
atandığı
argExpr
parametrenin nitelenmemiş adı.Adlandırılmış parametre gösterimi SQL UDF, Python UDF ve belirli yerleşik işlevler için desteklenir.
Örnekler
-- The substr function has three parameter and expects arguents to be passed by position.
> SELECT substr('hello', 3, 2);
ll
-- The last parameter, the length, of substr is optional, when it is ommited it retrns the remainder of the string.
> SELECT substr('hello', 3);
llo
-- Use the star clause to turn a set of columns into an array.
> SELECT array(*) FROM VALUES (1, 2, 3) AS t(a, b, c);
[1, 2, 3]
-- The second parameter, start position, is not optional
> SELECT substr('hello');
Error: WRONG_NUM_ARGS
-- read_files() is a function that accepts numerous parameters, many of which depend on the data source
-- The first parameter is positional, after that use named parameter invocation
> SELECT * FROM read_files(
's3://bucket/path',
format => 'csv',
schema => 'id int, ts timestamp, event string');
-- cloud_files_state() is a function that expects a table name as an argument
> SELECT path FROM cloud_files_state(TABLE(mytable));
/some/input/path
/other/input/path
-- Invoking a SQL UDF using named parameter invocation
> CREATE TEMPORARY FUNCTION increase(base INT, factor FLOAT DEFAULT 1) RETURNS INT RETURN base * factor;
-- Out of order assignment
> SELECT increase(factor => 1.2, base => 100);
120
-- Mixed invocation
> SELECT increase(100, factor => 1.3);
130
-- Using default
> SELECT increase(base => 100);
100
-- No position invocation after named invocation is allowed
> SELECT increase(base => 100, 1.4);
Error: UNEXPECTED_POSITIONAL_ARGUMENT