Doku için Microsoft Spark Yardımcı Programları (MSSparkUtils)

Microsoft Spark Yardımcı Programları (MSSparkUtils), ortak görevleri kolayca gerçekleştirmenize yardımcı olan yerleşik bir pakettir. MSSparkUtils'i dosya sistemleriyle çalışmak, ortam değişkenlerini almak, not defterlerini birbirine zincirleme ve gizli dizilerle çalışmak için kullanabilirsiniz. MSSparkUtils paketi PySpark (Python) Scala, SparkR not defterleri ve Doku işlem hatlarında kullanılabilir.

Dosya sistemi yardımcı programları

mssparkutils.fs, Azure Data Lake Depolama (ADLS) 2. Nesil ve Azure Blob Depolama gibi çeşitli dosya sistemleriyle çalışmaya yönelik yardımcı programlar sağlar. Azure Data Lake Storage 2. Nesil ve Azure Blob Depolama erişimini uygun şekilde yapılandırdığınızdan emin olun.

Kullanılabilir yöntemlere genel bakış için aşağıdaki komutları çalıştırın:

from notebookutils import mssparkutils
mssparkutils.fs.help()

Çıktı

mssparkutils.fs provides utilities for working with various FileSystems.

Below is overview about the available methods:

cp(from: String, to: String, recurse: Boolean = false): Boolean -> Copies a file or directory, possibly across FileSystems
mv(from: String, to: String, recurse: Boolean = false): Boolean -> Moves a file or directory, possibly across FileSystems
ls(dir: String): Array -> Lists the contents of a directory
mkdirs(dir: String): Boolean -> Creates the given directory if it does not exist, also creating any necessary parent directories
put(file: String, contents: String, overwrite: Boolean = false): Boolean -> Writes the given String out to a file, encoded in UTF-8
head(file: String, maxBytes: int = 1024 * 100): String -> Returns up to the first 'maxBytes' bytes of the given file as a String encoded in UTF-8
append(file: String, content: String, createFileIfNotExists: Boolean): Boolean -> Append the content to a file
rm(dir: String, recurse: Boolean = false): Boolean -> Removes a file or directory
exists(file: String): Boolean -> Check if a file or directory exists
mount(source: String, mountPoint: String, extraConfigs: Map[String, Any]): Boolean -> Mounts the given remote storage directory at the given mount point
unmount(mountPoint: String): Boolean -> Deletes a mount point
mounts(): Array[MountPointInfo] -> Show information about what is mounted
getMountPath(mountPoint: String, scope: String = ""): String -> Gets the local path of the mount point

Use mssparkutils.fs.help("methodName") for more info about a method.

MSSparkUtils, dosya sistemiyle Spark API'leriyle aynı şekilde çalışır. Örneğin, mssparkuitls.fs.mkdirs() ve Fabric lakehouse kullanımını alın:

Kullanım HDFS kökünden göreli yol ABFS dosya sistemi için mutlak yol Sürücü düğümündeki yerel dosya sistemi için mutlak yol
Nondefault lakehouse Desteklenmez mssparkutils.fs.mkdirs("abfss://< container_name>@<storage_account_name.dfs.core.windows.net/<> new_dir>") mssparkutils.fs.mkdirs("file:/<new_dir>")
Varsayılan göl evi "Dosyalar" veya "Tablolar" altındaki dizin: mssparkutils.fs.mkdirs("Dosyalar/<new_dir>") mssparkutils.fs.mkdirs("abfss://< container_name>@<storage_account_name.dfs.core.windows.net/<> new_dir>") mssparkutils.fs.mkdirs("file:/<new_dir>")

Dosyaları listeleme

Bir dizinin içeriğini listelemek için mssparkutils.fs.ls('Dizin yolunuz') kullanın. Örneğin:

mssparkutils.fs.ls("Files/tmp") # works with the default lakehouse files using relative path 
mssparkutils.fs.ls("abfss://<container_name>@<storage_account_name>.dfs.core.windows.net/<path>")  # based on ABFS file system 
mssparkutils.fs.ls("file:/tmp")  # based on local file system of driver node 

Dosya özelliklerini görüntüleme

Bu yöntem, dosya adı, dosya yolu, dosya boyutu ve bunun bir dizin ve dosya olup olmadığı gibi dosya özelliklerini döndürür.

files = mssparkutils.fs.ls('Your directory path')
for file in files:
    print(file.name, file.isDir, file.isFile, file.path, file.size)

Yeni dizin oluşturma

Bu yöntem, mevcut değilse verilen dizini oluşturur ve gerekli üst dizinleri oluşturur.

mssparkutils.fs.mkdirs('new directory name')  
mssparkutils.fs. mkdirs("Files/<new_dir>")  # works with the default lakehouse files using relative path 
mssparkutils.fs.ls("abfss://<container_name>@<storage_account_name>.dfs.core.windows.net/<new_dir>")  # based on ABFS file system 
mssparkutils.fs.ls("file:/<new_dir>")  # based on local file system of driver node 

Dosyayı kopyalama

Bu yöntem bir dosya veya dizin kopyalar ve dosya sistemleri arasında kopyalama etkinliğini destekler.

mssparkutils.fs.cp('source file or directory', 'destination file or directory', True)# Set the third parameter as True to copy all files and directories recursively

Performanslı kopyalama dosyası

Bu yöntem, özellikle büyük hacimli verileri kopyalamak veya taşımak için daha hızlı bir yol sağlar.

mssparkutils.fs.fastcp('source file or directory', 'destination file or directory', True)# Set the third parameter as True to copy all files and directories recursively

Dosya içeriğini önizleme

Bu yöntem, verilen dosyanın ilk 'maxBytes' baytlarına kadar UTF-8'de kodlanmış bir Dize olarak döndürür.

mssparkutils.fs.head('file path', maxBytes to read)

Dosyayı taşıma

Bu yöntem bir dosyayı veya dizini taşır ve dosya sistemleri arasında taşımayı destekler.

mssparkutils.fs.mv('source file or directory', 'destination directory', True) # Set the last parameter as True to firstly create the parent directory if it does not exist
mssparkutils.fs.mv('source file or directory', 'destination directory', True, True) # Set the third parameter to True to firstly create the parent directory if it does not exist. Set the last parameter to True to overwrite the updates.

Dosya yazma

Bu yöntem, verilen dizeyi UTF-8 ile kodlanmış bir dosyaya yazar.

mssparkutils.fs.put("file path", "content to write", True) # Set the last parameter as True to overwrite the file if it existed already

Dosyaya içerik ekleme

Bu yöntem, verilen dizeyi UTF-8 ile kodlanmış bir dosyaya ekler.

mssparkutils.fs.append("file path", "content to append", True) # Set the last parameter as True to create the file if it does not exist

Dosya veya dizin silme

Bu yöntem bir dosyayı veya dizini kaldırır.

mssparkutils.fs.rm('file path', True) # Set the last parameter as True to remove all files and directories recursively

Dizini bağlama/çıkarma

Dosya bağlama ve çıkarma bölümünde ayrıntılı kullanım hakkında daha fazla bilgi bulabilirsiniz.

Not defteri yardımcı programları

Not defterini çalıştırmak veya not defterinden bir değerle çıkmak için MSSparkUtils Not Defteri Yardımcı Programları'nı kullanın. Kullanılabilir yöntemlere genel bir bakış elde etmek için aşağıdaki komutu çalıştırın:

mssparkutils.notebook.help()

Çıktı:


exit(value: String): void -> This method lets you exit a notebook with a value.
run(path: String, timeoutSeconds: int, arguments: Map): String -> This method runs a notebook and returns its exit value.

Not

Not defteri yardımcı programları Apache Spark iş tanımları (SJD) için geçerli değildir.

Not defterine başvurma

Bu yöntem bir not defterine başvurur ve çıkış değerini döndürür. İç içe işlev çağrılarını etkileşimli olarak veya işlem hattında bir not defterinde çalıştırabilirsiniz. Başvuruda bulunan not defteri, bu işlevi çağıran not defterinin Spark havuzunda çalışır.

mssparkutils.notebook.run("notebook name", <timeoutSeconds>, <parameterMap>)

Örneğin:

mssparkutils.notebook.run("Sample1", 90, {"input": 20 })

Başvuru çalıştırmasının anlık görüntü bağlantısını hücre çıkışında açabilirsiniz. Anlık görüntü, kod çalıştırması sonuçlarını yakalar ve bir başvuru çalıştırmasının hatalarını kolayca ayıklamanıza olanak tanır.

Başvuru çalıştırma sonucunun ekran görüntüsü.

Anlık görüntü örneğinin ekran görüntüsü.

Not

  • Şu anda, Doku not defteri yalnızca bir çalışma alanı içindeki not defterlerine başvurmayı destekler.
  • Not Defteri Kaynağı altındaki dosyaları kullanıyorsanız, mssparkutils.nbResPath etkileşimli çalıştırmayla aynı klasöre işaret etmelerini sağlamak için başvuruda bulunılan not defterinde kullanın.

Başvuru birden çok not defterini paralel olarak çalıştırma

Önemli

Bu özellik önizleme aşamasındadır.

yöntemi mssparkutils.notebook.runMultiple() , birden çok not defterini paralel veya önceden tanımlanmış bir topolojik yapıyla çalıştırmanıza olanak tanır. API, spark oturumunda çok iş parçacıklı bir uygulama mekanizması kullanıyor ve bu da işlem kaynaklarının başvuru not defteri çalıştırmaları tarafından paylaşıldığı anlamına gelir.

ile mssparkutils.notebook.runMultiple()şunları yapabilirsiniz:

  • Her birinin bitip bitmeden birden çok not defterini aynı anda yürütür.

  • Basit bir JSON biçimi kullanarak not defterleriniz için bağımlılıkları ve yürütme sırasını belirtin.

  • Spark işlem kaynaklarının kullanımını iyileştirin ve Doku projelerinizin maliyetini azaltın.

  • Çıktıdaki her not defteri çalıştırma kaydının anlık görüntülerini görüntüleyin ve not defteri görevlerinizin hatalarını rahatça ayıklayın/izleyin.

  • Her yönetici etkinliğinin çıkış değerini alın ve bunları aşağı akış görevlerinde kullanın.

Örneği ve ayrıntılı kullanımı bulmak için mssparkutils.notebook.help("runMultiple") komutunu çalıştırmayı da deneyebilirsiniz.

Aşağıda, bu yöntemi kullanarak not defterlerinin listesini paralel olarak çalıştırmanın basit bir örneği verilmiştir:


mssparkutils.notebook.runMultiple(["NotebookSimple", "NotebookSimple2"])

Kök not defterinin yürütme sonucu aşağıdaki gibidir:

Not defterleri listesine başvuru ekran görüntüsü.

Aşağıda kullanarak mssparkutils.notebook.runMultiple()topolojik yapıya sahip not defterlerini çalıştırma örneği verilmiştir. Bir kod deneyimi aracılığıyla not defterlerini kolayca düzenlemek için bu yöntemi kullanın.

# run multiple notebooks with parameters
DAG = {
    "activities": [
        {
            "name": "NotebookSimple", # activity name, must be unique
            "path": "NotebookSimple", # notebook path
            "timeoutPerCellInSeconds": 90, # max timeout for each cell, default to 90 seconds
            "args": {"p1": "changed value", "p2": 100}, # notebook parameters
        },
        {
            "name": "NotebookSimple2",
            "path": "NotebookSimple2",
            "timeoutPerCellInSeconds": 120,
            "args": {"p1": "changed value 2", "p2": 200}
        },
        {
            "name": "NotebookSimple2.2",
            "path": "NotebookSimple2",
            "timeoutPerCellInSeconds": 120,
            "args": {"p1": "changed value 3", "p2": 300},
            "retry": 1,
            "retryIntervalInSeconds": 10,
            "dependencies": ["NotebookSimple"] # list of activity names that this activity depends on
        }
    ]
}
mssparkutils.notebook.runMultiple(DAG, {"displayDAGViaGraphviz": False})

Kök not defterinin yürütme sonucu aşağıdaki gibidir:

Parametreleri olan not defterleri listesine başvurunun ekran görüntüsü.

Not

  • Birden çok not defteri çalıştırmasının paralellik derecesi, Spark oturumunun toplam kullanılabilir işlem kaynağıyla sınırlıdır.
  • içindeki not defteri etkinliklerinin msspakrutils.notebook.runMultiple() üst sınırı 50'dir ve 50'den fazla not defteri etkinliğinde işlem kaynağı kullanımı nedeniyle kararlılık ve performans sorunları olabilir. API'de hala daha fazla not defteri etkinliği kullanmak istiyorsanız, geçici çözüm olarak spark ayarlarını 'spark.notebookutils.runmultiple.limit' daha büyük bir değere ayarlayabilirsiniz. Ekli Ortamda spark özelliklerini ayarlayabilir veya %%configure komutunu kullanabilirsiniz.
  • 50'den fazla not defteri etkinliği kullanmak istiyorsanız, anlık görüntü ve ilerleme çubuğu içerik boyutunun toplam Not Defteri içerik boyutu üst sınırını aşmasını önlemek için, zengin UX özelliklerini devre dışı bırakmak için aşağıdaki komutu çalıştırmanızı öneririz.
    com.microsoft.spark.notebook.common.Configs.notebookRunSnapshotEnabled = false
    

Not defterinden çıkma

Bu yöntem, değeri olan bir not defterinden çıkar. İç içe işlev çağrılarını etkileşimli olarak veya işlem hattında bir not defterinde çalıştırabilirsiniz.

  • Bir not defterinden exit() işlevini etkileşimli olarak çağırdığınızda, Doku not defteri bir özel durum oluşturur, sonraki hücreleri çalıştırmayı atlar ve Spark oturumunu canlı tutar.

  • Exit() işlevini çağıran bir işlem hattında bir not defterini düzenlerseniz, not defteri etkinliği bir çıkış değeriyle döner, işlem hattı çalıştırmasını tamamlar ve Spark oturumunu durdurur.

  • Başvuruda bulunan bir not defterinde exit() işlevini çağırdığınızda, Fabric Spark başvuruda bulunan not defterinin daha fazla yürütülmesini durdurur ve ana not defterinde run() işlevini çağıran sonraki hücreleri çalıştırmaya devam eder. Örneğin: Notebook1 üç hücreye sahiptir ve ikinci hücrede exit () işlevini çağırır. Notebook2'nin beş hücresi vardır ve üçüncü hücrede run(notebook1) çağrıları vardır. Notebook2'yi çalıştırdığınızda, exit() işlevine basıldığında Notebook1 ikinci hücrede durur. Not Defteri2, dördüncü hücresini ve beşinci hücresini çalıştırmaya devam eder.

mssparkutils.notebook.exit("value string")

Örneğin:

Aşağıdaki iki hücreye sahip Örnek1 not defteri:

  • Hücre 1, varsayılan değeri 10 olarak ayarlanmış bir giriş parametresi tanımlar.

  • 2. hücre, çıkış değeri olarak giriş içeren not defterinden çıkar.

Çıkış işlevinin örnek not defterini gösteren ekran görüntüsü.

Sample1'i varsayılan değerlerle başka bir not defterinde çalıştırabilirsiniz:

exitVal = mssparkutils.notebook.run("Sample1")
print (exitVal)

Çıktı:

Notebook executed successfully with exit value 10

Sample1'i başka bir not defterinde çalıştırabilir ve giriş değerini 20 olarak ayarlayabilirsiniz:

exitVal = mssparkutils.notebook.run("Sample1", 90, {"input": 20 })
print (exitVal)

Çıktı:

Notebook executed successfully with exit value 20

Kimlik bilgileri yardımcı programları

Azure Key Vault'ta erişim belirteçleri almak ve gizli dizileri yönetmek için MSSparkUtils Kimlik Bilgileri Yardımcı Programları'nı kullanabilirsiniz.

Kullanılabilir yöntemlere genel bir bakış elde etmek için aşağıdaki komutu çalıştırın:

mssparkutils.credentials.help()

Çıktı:

getToken(audience, name): returns AAD token for a given audience, name (optional)
getSecret(keyvault_endpoint, secret_name): returns secret for a given Key Vault and secret name

Belirteç alma

getToken, belirli bir hedef kitle ve ad için bir Microsoft Entra belirteci döndürür (isteğe bağlı). Aşağıdaki listede şu anda kullanılabilir olan hedef kitle anahtarları gösterilmektedir:

  • Depolama Hedef Kitle Kaynağı: "depolama"
  • Power BI Kaynağı: "pbi"
  • Azure Key Vault Kaynağı: "keyvault"
  • Synapse RTA KQL DB Kaynağı: "kusto"

Belirteci almak için aşağıdaki komutu çalıştırın:

mssparkutils.credentials.getToken('audience Key')

Kullanıcı kimlik bilgilerini kullanarak gizli dizi alma

getSecret, kullanıcı kimlik bilgilerini kullanarak belirli bir Azure Key Vault uç noktası ve gizli dizi adı için bir Azure Key Vault gizli dizisi döndürür.

mssparkutils.credentials.getSecret('https://<name>.vault.azure.net/', 'secret name')

Dosya bağlama ve çıkarma

Doku, Microsoft Spark Yardımcı Programları paketinde aşağıdaki bağlama senaryolarını destekler. Tüm çalışan düğümlere (sürücü düğümü ve çalışan düğümleri) uzak depolama (ADLS 2. Nesil) eklemek için bağlama, çıkarma, getMountPath() ve mounts() API'lerini kullanabilirsiniz. Depolama bağlama noktası gerçekleştikten sonra yerel dosya API'sini kullanarak verilere yerel dosya sisteminde depolanmış gibi erişin.

ADLS 2. Nesil hesabını bağlama

Aşağıdaki örnekte Azure Data Lake Storage 2. Nesil nasıl bağlanacakları gösterilmektedir. Blob Depolama bağlama işlemi benzer şekilde çalışır.

Bu örnekte storegen2 adlı bir Data Lake Storage 2. Nesil hesabınız olduğu ve hesabın not defteri Spark oturumunuza /test etmek istediğiniz mycontainer adlı bir kapsayıcısı olduğu varsayılır.

Bağlanacak kapsayıcının seçileceği yeri gösteren ekran görüntüsü.

mycontainer adlı kapsayıcıyı bağlamak için öncelikle mssparkutils'in kapsayıcıya erişim izniniz olup olmadığını denetlemesi gerekir. Şu anda Doku, tetikleyici bağlama işlemi için iki kimlik doğrulama yöntemini destekler: accountKey ve sastoken.

Paylaşılan erişim imzası belirteci veya hesap anahtarı aracılığıyla bağlama

MSSparkUtils, bir hesap anahtarının veya Paylaşılan erişim imzası (SAS) belirtecinin hedefi bağlamak için parametre olarak açıkça geçirilmesini destekler.

Güvenlik nedeniyle, hesap anahtarlarını veya SAS belirteçlerini Azure Key Vault'ta depolamanızı öneririz (aşağıdaki ekran görüntüsünde gösterildiği gibi). Ardından bunları mssparkutils.credentials.getSecret API'sini kullanarak alabilirsiniz. Azure Key Vault hakkında daha fazla bilgi için bkz . Azure Key Vault yönetilen depolama hesabı anahtarları hakkında.

Gizli dizilerin Azure Key Vault'ta nerede depolandığını gösteren ekran görüntüsü.

accountKey yöntemi için örnek kod:

from notebookutils import mssparkutils  
# get access token for keyvault resource
# you can also use full audience here like https://vault.azure.net
accountKey = mssparkutils.credentials.getSecret("<vaultURI>", "<secretName>")
mssparkutils.fs.mount(  
    "abfss://mycontainer@<accountname>.dfs.core.windows.net",  
    "/test",  
    {"accountKey":accountKey}
)

Sastoken için örnek kod:

from notebookutils import mssparkutils  
# get access token for keyvault resource
# you can also use full audience here like https://vault.azure.net
sasToken = mssparkutils.credentials.getSecret("<vaultURI>", "<secretName>")
mssparkutils.fs.mount(  
    "abfss://mycontainer@<accountname>.dfs.core.windows.net",  
    "/test",  
    {"sasToken":sasToken}
)

Not

Kullanılamıyorsa içeri aktarmanız mssparkutils gerekebilir:

from notebookutils import mssparkutils

Bağlama parametreleri:

  • fileCacheTimeout: Bloblar varsayılan olarak 120 saniye boyunca yerel geçici klasörde önbelleğe alınır. Bu süre boyunca blobfuse dosyanın güncel olup olmadığını denetlemez. parametresi varsayılan zaman aşımı süresini değiştirecek şekilde ayarlanabilir. Birden çok istemci dosyaları aynı anda değiştirdiğinde, yerel ve uzak dosyalar arasındaki tutarsızlıkları önlemek için önbellek süresini kısaltmanızı, hatta 0 olarak değiştirmenizi ve her zaman sunucudan en son dosyaları almanızı öneririz.
  • zaman aşımı: Bağlama işlemi zaman aşımı varsayılan olarak 120 saniyedir. parametresi varsayılan zaman aşımı süresini değiştirecek şekilde ayarlanabilir. Çok fazla yürütücü olduğunda veya bağlama zaman aşımına uğradıysa değeri artırmanızı öneririz.

Aşağıdaki gibi parametreleri kullanabilirsiniz:

mssparkutils.fs.mount(
   "abfss://mycontainer@<accountname>.dfs.core.windows.net",
   "/test",
   {"fileCacheTimeout": 120, "timeout": 120}
)

Not

Güvenlik nedeniyle kimlik bilgilerini kodda depolamamanızı öneririz. Kimlik bilgilerinizi daha fazla korumak için, not defteri çıkışında gizli dizinizi yeniden oluşturacağız. Daha fazla bilgi için bkz . Gizli dizi yeniden eylem.

Göl evi nasıl monte edilir?

Lakehouse'ı /test'e bağlamak için örnek kod:

from notebookutils import mssparkutils 
mssparkutils.fs.mount( 
 "abfss://<workspace_id>@msit-onelake.dfs.fabric.microsoft.com/<lakehouse_id>", 
 "/test"
)

mssparktuils fs API'sini kullanarak bağlama noktası altındaki dosyalara erişme

Bağlama işleminin temel amacı, müşterilerin yerel bir dosya sistemi API'siyle uzak depolama hesabında depolanan verilere erişmesine izin vermektir. Verilere, parametre olarak bağlı bir yol ile mssparkutils fs API'sini kullanarak da erişebilirsiniz. Bu yol biçimi biraz farklı.

bağlama API'sini kullanarak mycontainer Data Lake Storage 2. Nesil kapsayıcısını /test'ebağladığınız varsayılır. Verilere yerel dosya sistemi API'siyle eriştiğiniz zaman yol biçimi şöyledir:

/synfs/notebook/{sessionId}/test/{filename}

Verilere mssparkutils fs API'sini kullanarak erişmek istediğinizde, doğru yolu elde etmek için getMountPath() kullanmanızı öneririz:

path = mssparkutils.fs.getMountPath("/test")
  • Liste dizinleri:

    mssparkutils.fs.ls(f"file://{mssparkutils.fs.getMountPath('/test')}")
    
  • Dosya içeriğini okuma:

    mssparkutils.fs.head(f"file://{mssparkutils.fs.getMountPath('/test')}/myFile.txt")
    
  • Dizin oluşturma:

    mssparkutils.fs.mkdirs(f"file://{mssparkutils.fs.getMountPath('/test')}/newdir")
    

Bağlama noktası altındaki dosyalara yerel yol üzerinden erişme

Standart dosya sistemini kullanarak bağlama noktasındaki dosyaları kolayca okuyabilir ve yazabilirsiniz. Python örneği aşağıda verilmişti:

#File read
with open(mssparkutils.fs.getMountPath('/test2') + "/myFile.txt", "r") as f:
    print(f.read())
#File write
with open(mssparkutils.fs.getMountPath('/test2') + "/myFile.txt", "w") as f:
    print(f.write("dummy data"))

Mevcut bağlama noktalarını denetleme

Tüm mevcut bağlama noktası bilgilerini denetlemek için mssparkutils.fs.mounts() API'sini kullanabilirsiniz:

mssparkutils.fs.mounts()

Bağlama noktasını çıkarma

Bağlama noktanızı (/test bu örnekte) sökmek için aşağıdaki kodu kullanın:

mssparkutils.fs.unmount("/test")

Bilinen sınırlamalar

  • Geçerli bağlama bir iş düzeyi yapılandırmasıdır; Bağlama noktası olup olmadığını denetlemek için bağlamalar API'sini kullanmanızı öneririz.

  • Çıkarma mekanizması otomatik değildir. Uygulama çalıştırması tamamlandığında bağlama noktasını sökmek ve disk alanını serbest bırakmak için kodunuzda bir çıkarma API'sini açıkça çağırmanız gerekir. Aksi takdirde, uygulama çalıştırması tamamlandıktan sonra bağlama noktası düğümde bulunmaya devam eder.

  • ADLS 1. Nesil depolama hesabı bağlama desteklenmez.

Lakehouse yardımcı programları

mssparkutils.lakehouse Lakehouse yapıtlarını yönetmek için özel olarak uyarlanmış yardımcı programlar sağlar. Bu yardımcı programlar, kullanıcılara Lakehouse yapıtlarını zahmetsizce oluşturma, alma, güncelleştirme ve silme gücü sağlar.

Not

Lakehouse API'leri yalnızca Çalışma Zamanı 1.2+ sürümünde desteklenir.

Yöntemlere genel bakış

Aşağıda tarafından mssparkutils.lakehousesağlanan kullanılabilir yöntemlere genel bir bakış verilmiştir:

# Create a new Lakehouse artifact
create(name: String, description: String = "", workspaceId: String = ""): Artifact

# Retrieve a Lakehouse artifact
get(name: String, workspaceId: String = ""): Artifact

# Update an existing Lakehouse artifact
update(name: String, newName: String, description: String = "", workspaceId: String = ""): Artifact

# Delete a Lakehouse artifact
delete(name: String, workspaceId: String = ""): Boolean

# List all Lakehouse artifacts
list(workspaceId: String = ""): Array[Artifact]

Kullanım örnekleri

Bu yöntemleri etkili bir şekilde kullanmak için aşağıdaki kullanım örneklerini göz önünde bulundurun:

Lakehouse yapıtı oluşturma

artifact = mssparkutils.lakehouse.create("artifact_name", "Description of the artifact", "optional_workspace_id")

Lakehouse Yapıtı Alma

artifact = mssparkutils.lakehouse.get("artifact_name", "optional_workspace_id")

Lakehouse yapıtlarını güncelleştirme

updated_artifact = mssparkutils.lakehouse.update("old_name", "new_name", "Updated description", "optional_workspace_id")

Lakehouse yapıtlarını silme

is_deleted = mssparkutils.lakehouse.delete("artifact_name", "optional_workspace_id")

Lakehouse yapıtlarını listeleme

artifacts_list = mssparkutils.lakehouse.list("optional_workspace_id")

Ek bilgi

Her yöntem ve parametreleri hakkında daha ayrıntılı bilgi için işlevini kullanın mssparkutils.lakehouse.help("methodName") .

MSSparkUtils'in Lakehouse yardımcı programlarıyla Lakehouse yapıtlarınızı yönetmek daha verimli hale gelir ve Doku işlem hatlarınızla tümleştirilip genel veri yönetimi deneyiminizi geliştirir.

Sorunsuz Lakehouse yapıt yönetimi için bu yardımcı programları keşfedebilir ve Bunları Doku iş akışlarınıza dahil etmek için çekinmeyin.

Bilinen sorun

1.2'nin üzerindeki çalışma zamanı sürümünü kullanıp çalıştırırken mssparkutils.help()listelenen fabricClient, ambar ve çalışma alanı API'leri şimdilik desteklenmediğinden, daha sonra kullanılabilir.