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.
Kitaplık, sıfırdan yazmadan işlevsellik eklemek için not defterlerinize ve Spark iş tanımlarınıza aktarabileceğiniz, PyPI'den Python paketi, CRAN'dan R paketi veya Java JAR gibi yeniden kullanılabilir bir kod paketidir. Microsoft Fabric, kitaplıkları yönetmenize ve kullanmanıza yardımcı olacak birden çok mekanizma sağlar.
- Yerleşik kitaplıklar: Her Fabric Spark çalışma zamanı, önceden yüklenmiş popüler kitaplıklardan oluşan zengin bir küme sağlar. Yerleşik kitaplık listesinin tamamını Doku Spark Çalışma Zamanı'nda bulabilirsiniz.
- Ortak kitaplıklar: Ortak kitaplıklar, şu anda desteklenen PyPI ve Conda gibi depolardan kaynaklanmıştır.
- Özel kitaplıklar: Özel kitaplıklar, sizin veya kuruluşunuzun derlediğiniz koda başvurur. Fabric bu biçimleri .whl, .jar ve .tar.gz formatlarında destekler. Fabric yalnızca R dili için .tar.gz dosya türünü destekler. Python özel kitaplıkları için .whl biçimini kullanın.
Kitaplık yönetimi en iyi yöntemlerinin özeti
Aşağıdaki senaryolarda, Microsoft Fabric'te kitaplıkları kullanırken en iyi yöntemler açıklanmaktadır.
Ortam yayımlama modları (Hızlı vs Tam)
Kitaplıkları bir Doku ortamına yüklediğinizde, kitaplıkların Spark oturumlarınıza nasıl teslim edilirini denetleyan bir yayımlama modu seçersiniz.
- Hızlı mod yaklaşık 5 saniye içinde yayımlar. Kitaplıklar, yayımlama sırasında değil, not defteri oturumu başlatıldığında yüklenir. Hızlı mod paketinin adı Tam mod paketiyle aynıysa, Hızlı mod sürümü yalnızca bu oturum için Tam mod sürümünü geçersiz kılar. Hızlı, yinelemeli not defteri geliştirme ve erken aşama denemeleri için Hızlı modu kullanın.
- Tam mod kararlı, yeniden üretilebilir bir kitaplık anlık görüntüsü oluşturur. Sistem bağımlılıkları çözümlediğinden ve uyumluluğu doğruladığı için yayımlama işlemi genellikle 3-6 dakika sürer. Oturum başlatma, bağımlılık boyutuna bağlı olarak bağımlılık dağıtımına 1 ila 3 dakika ekler. Tutarlı, yeniden üretilebilir ortamlar gerektiren işlem hatları, zamanlanmış çalıştırmalar ve paylaşılan iş yükleri için Tam modu kullanın.
Özel bir canlı havuz ile tam mod
Tam modun kararlılığını hızlı oturum başlangıçlarıyla birleştirmek için Tam mod ortamına bağlanan özel bir canlı havuz yapılandırın. Canlı havuz, tam mod kitaplığı anlık görüntüsüyle kümeleri önceden nemlendirir ve yeniden üretilebilir anlık görüntüyü korurken yaklaşık 5 saniyelik oturum başlangıç sürelerini etkinleştirir.
Her modla ilgili ayrıntılar için bkz. Doku ortamlarındaki kitaplıkları yönetme.
Senaryo 1: Yönetici çalışma alanı için varsayılan kitaplıkları ayarlar
Varsayılan kitaplıkları ayarlamak için çalışma alanının yöneticisi olmanız gerekir. Yönetici olarak şu görevleri gerçekleştirebilirsiniz:
- Yeni bir ortam oluşturun
- Gerekli kitaplıkları ortama yükleme
- Bu ortamı varsayılan çalışma alanı olarak ekle
Not defterleriniz ve Spark iş tanımlarınız Çalışma Alanı ayarlarına eklendiğinde, çalışma alanının varsayılan ortamında yüklü kitaplıklarla oturumlar başlatır.
Senaryo 2: Bir veya birden çok kod öğesi için kitaplık belirtimlerini kalıcı hale getirmek
Farklı kod öğeleri için ortak kitaplıklarınız varsa ve bunları sık sık güncelleştirmeniz gerekmiyorsa, kitaplıkları bir ortama yükleyin ve kod öğelerine ekleyin.
Yayımlama süresi, seçtiğiniz moda bağlıdır. Hızlı mod yaklaşık 5 saniye içinde yayımlar ve oturum başlangıcında kitaplıkları yükler. Tam mod bağımlılıkları çözer ve kararlı bir anlık görüntü oluşturur; genellikle yayımlanması 3-6 dakika sürer ve oturum başlatma bağımlılık dağıtımı için 1 ile 3 dakika arasında bir süre ekler.
Bu yaklaşımın avantajı, ortam ekli olarak bir Spark oturumu başladığında başarıyla yüklenen kitaplıkların kullanılabilir olacağının garanti edilmesidir. Projeleriniz için ortak kitaplıkları koruma çabasından tasarruf sağlar ve kararlılığı nedeniyle boru hattı senaryoları için önerilir.
Senaryo 3: Etkileşimli çalıştırmada satır içi yükleme
Not defterinde etkileşimli olarak kod yazıyorsanız, satır içi yükleme , PyPI veya conda kitaplıkları eklemek veya tek seferlik kullanım için özel kitaplıkları doğrulamak için en iyi yaklaşımdır. Satır içi komutlar bir kitaplığı yalnızca geçerli not defteri Spark oturumunda kullanılabilir hale getirir; bunlar hızlı yüklemeye izin verir, ancak yüklenen kitaplık oturumlar arasında kalıcı olmaz.
%pip install Çalışmadan çalıştırmaya farklı bağımlılık ağaçları oluşturabildiğinden ve bu da kitaplık çakışmalarına neden olabileceğinden, satır içi komutlar işlem hattı çalıştırmalarında varsayılan olarak kapatılır ve işlem hatları için önerilmez.
Not
Satır içi komutlar (veya %pip installgibi%conda install) aracılığıyla yüklenen kitaplıklar ve bir not defteri veya ortam Kaynak klasöründen eklenen kitaplıkların kapsamı geçerli oturum veya not defteri olarak belirlenmiştir. Bunlar, Hızlı modda veya Tam modda ortam yayımından etkilenmez.
Desteklenen kitaplık türlerinin özeti
| Kitaplık türü | Ortam kitaplığı yönetimi | Satır içi yükleme |
|---|---|---|
| Python Herkese Açık (PyPI & Conda) | Desteklenir | Desteklenir |
| Python Özelleştirilmiş (.whl) | Desteklenir | Desteklenir |
| R Genel (CRAN) | Desteklenmez | Desteklenir |
| R özelleştirilmiş (.tar.gz) | Özel kitaplık olarak desteklenir | Desteklenir |
| Kavanoz | Özel kitaplık olarak desteklenir | Desteklenir |
Çevrimiçi yükleme
Satır içi komutlar, tek tek not defteri oturumlarındaki kitaplıkları yönetmenize olanak sağlar.
Python yerleşik yükleme
Sistem, kitaplık değişikliklerini uygulamak için Python yorumlayıcısını yeniden başlatır. Komut hücresini çalıştırmadan önce tanımlanan tüm değişkenler kaybolur. Python paketlerini ekleme, silme veya güncelleştirmeye yönelik tüm komutları not defterinizin başına yerleştirin.
Python kitaplıklarını yönetmeye yönelik satır içi komutlar, not defteri işlem hattı çalıştırmalarında varsayılan olarak devre dışı bırakılır. Bir işlem hattını etkinleştirmek için %pip install, _inlineInstallationEnabled olarak ayarlanmış bir boolean parametresi olarak not defteri etkinliği parametrelerine True ekleyin.
Not
%pip install komutu çalıştırıldığında tutarsız sonuçlar üretebilir. Bir ortama kitaplıkları yükleyin ve ardından ortamı bir işlem hattında kullanın.
Komut Yüksek %pip install Eşzamanlılık modunda desteklenmez.
Not defteri başvuru çalıştırmalarında, Python kitaplıklarını yönetmeye yönelik satır içi komutlar desteklenmez. Doğru yürütmeyi sağlamak için bu satır içi komutları başvuruda bulunan not defterinden kaldırın.
%pipyerine !pip kullanın. komutu !pip , aşağıdaki sınırlamalara sahip bir IPython yerleşik kabuk komutudur:
-
!pipbir paketi yürütücü düğümlerine değil yalnızca sürücü düğümüne yükler. - aracılığıyla
!pipyüklenen paketler, yerleşik paketlerle veya zaten bir not defterine içeri aktarılan paketlerle çakışmaları hesaba eklemez.
%pip bu senaryoları işler. aracılığıyla %pip yüklenen kitaplıklar hem sürücü hem de yürütücü düğümlerinde kullanılabilir ve kitaplık zaten içeri aktarılmış olsa bile etkili olur.
İpucu
Komut %conda install genellikle komutun %pip install yeni Python kitaplıklarını yüklemesinden daha uzun sürer. Tüm bağımlılıkları denetler ve çakışmaları çözer.
Daha fazla güvenilirlik ve kararlılık için kullanın %conda install . Yüklemek istediğiniz kitaplığın çalışma zamanı ortamında önceden yüklenmiş kitaplıklarla çakışmadığından eminseniz kullanın %pip install .
Kullanılabilir tüm Python satır içi komutları ve netleştirmeleri için bkz . %pip komutları ve %conda komutları.
Python ortak kitaplıklarını satır içi yükleme aracılığıyla yönetme
Bu örnekte, kitaplıkları yönetmek için satır içi komutların nasıl kullanılacağı gösterilmektedir. Python için güçlü bir görselleştirme kitaplığı olan altair'i tek seferlik veri keşfi için kullanmak istediğinizi ve kitaplığın çalışma alanınızda yüklü olmadığını varsayalım. Aşağıdaki örnek, adımları göstermek için conda komutlarını kullanır.
Not defterinizin veya diğer öğelerin diğer oturumlarını etkilemeden not defteri oturumunuzda altair'i etkinleştirmek için satır içi komutları kullanabilirsiniz.
Not defteri kod hücresinde aşağıdaki komutları çalıştırın. İlk komut altair kitaplığını yükler. Ayrıca görselleştirmek için kullanabileceğiniz bir anlam modeli içeren vega_datasets yükleyin.
%conda install altair # install latest version through conda command %conda install vega_datasets # install latest version through conda commandHücrenin çıktısı yüklemenin sonucunu gösterir.
Aşağıdaki kodu başka bir not defteri hücresinde çalıştırarak paketi ve anlam modelini içeri aktarın.
import altair as alt from vega_datasets import dataArtık oturum kapsamlı altair kitaplığıyla oyun oynayabilirsiniz.
# load a simple dataset as a pandas DataFrame cars = data.cars() alt.Chart(cars).mark_point().encode( x='Horsepower', y='Miles_per_Gallon', color='Origin', ).interactive()
Python özel kitaplıklarını satır içi yükleme aracılığıyla yönetme
Python özel kitaplıklarınızı not defterinizin kaynaklar klasörüne veya ekli ortama yükleyebilirsiniz. Resources klasörü, her not defteri ve ortam tarafından sağlanan yerleşik bir dosya sistemidir. Diğer ayrıntılar için bkz . Not defteri kaynakları . Bir kitaplığı karşıya yükledikten sonra, otomatik olarak yükleme komutunu oluşturmak için bir kod hücresine sürükleyip bırakabilirsiniz. Veya aşağıdaki komutu çalıştırabilirsiniz:
# install the .whl through pip command from the notebook built-in folder
%pip install "builtin/wheel_file_name.whl"
Not
Satır içi komutlar aracılığıyla Kaynaklar klasöründen yüklenen özel kitaplıklar oturum başına ve not defteri başınadır. [Onlar] ortam yayımlaması tarafından etkilenmezler.
R satır içi yöntemle yükleme
Doku, R kitaplıklarını yönetmek için , install.packages()ve remove.packages() komutlarını desteklerdevtools::. Tüm kullanılabilir R satır içi komutları ve netleştirmeleri için bkz . install.packages komutu ve remove.package komutu.
Satır içi yükleme aracılığıyla R ortak kitaplıklarını yönetme
R ortak kitaplığı yükleme adımlarını izlemek için bu örneği izleyin.
R akışı kitaplığı yüklemek için:
Not defteri şeridinde çalışma dilini SparkR (R) olarak değiştirin.
Aşağıdaki komutu bir not defteri hücresinde çalıştırarak caesar kitaplığını yükleyin.
install.packages("caesar")Artık bir Spark işiyle oturum kapsamlı Sezar kitaplığıyla oyun oynayabilirsiniz.
library(SparkR) sparkR.session() hello <- function(x) { library(caesar) caesar(x) } spark.lapply(c("hello world", "good morning", "good evening"), hello)
Satır içi yükleme aracılığıyla Jar kitaplıklarını yönetme
Aşağıdaki komutla not defteri oturumlarına .jar dosyaları ekleyebilirsiniz.
%%configure -f
{
"conf": {
"spark.jars": "abfss://<<Lakehouse prefix>>.dfs.fabric.microsoft.com/<<path to JAR file>>/<<JAR file name>>.jar",
}
}
Yukarıdaki kod hücresi örnek olarak lakehouse depolamayı kullanır. Not defteri gezgininde, dosyanın tam ABFS yolunu kopyalayabilir ve kodda değiştirebilirsiniz.