Oturum kapsamlı paketleri yönetme
Havuz düzeyi paketlerine ek olarak, not defteri oturumunun başında oturum kapsamlı kitaplıklar da belirtebilirsiniz. Oturum kapsamlı kitaplıklar, not defteri oturumunda Python, jar ve R paketlerini belirtmenize ve kullanmanıza olanak sağlar.
Oturum kapsamlı kitaplıkları kullanırken aşağıdaki noktaları göz önünde bulundurmak önemlidir:
- Oturum kapsamlı kitaplıkları yüklediğinizde, yalnızca geçerli not defterinin belirtilen kitaplıklara erişimi olur.
- Bu kitaplıkların aynı Spark havuzunu kullanan diğer oturumlar veya işler üzerinde hiçbir etkisi yoktur.
- Bu kitaplıklar temel çalışma zamanı ve havuz düzeyi kitaplıklarının üzerine yüklenir ve en yüksek önceliği alır.
- Oturum kapsamlı kitaplıklar oturumlar arasında kalıcı olmaz.
Oturum kapsamlı Python paketleri
Oturum kapsamlı Python paketlerini environment.yml dosyası aracılığıyla yönetme
Oturum kapsamlı Python paketlerini belirtmek için:
- Seçili Spark havuzuna gidin ve oturum düzeyi kitaplıkları etkinleştirdiğinizden emin olun. Apache Spark havuzu>PaketleriniYönet> sekmesine giderek bu ayarı etkinleştirebilirsiniz.
- Ayar uygulandıktan sonra bir not defteri açıp Oturum>Paketlerini Yapılandır'ı seçebilirsiniz.
- Burada, bir oturum içinde paketleri yüklemek veya yükseltmek için bir Conda environment.yml dosyasını karşıya yükleyebilirsiniz. Oturum başladıktan sonra belirtilen kitaplıklar mevcut olacak. Oturum sona erdikten sonra bu kitaplıklar artık kullanılamaz.
Oturum kapsamlı Python paketlerini %pip ve %conda komutları aracılığıyla yönet
Apache Spark not defteri oturumunuz sırasında ek üçüncü taraf kitaplıkları veya özel kitaplıklarınızı yüklemek için popüler %pip ve %conda komutlarını kullanabilirsiniz. Bu bölümde, bazı yaygın senaryoları göstermek için %pip komutlarını kullanacağız.
Not
- Yeni kitaplıklar yüklemek istiyorsanız not defterinizin ilk hücresine %pip ve %conda komutlarını yerleştirmenizi öneririz. Python yorumlayıcısı, değişiklikleri etkili bir şekilde getirmek için oturum düzeyi kitaplığı yönetildikten sonra yeniden başlatılır.
- İşlem hattı işleri çalıştırılırken Python kitaplıklarını yönetmeye yönelik bu komutlar devre dışı bırakılır. İşlem hattı içinde bir paket yüklemek istiyorsanız, havuz düzeyinde kitaplık yönetimi özelliklerinden yararlanmanız gerekir.
- Oturum kapsamlı Python kitaplıkları hem sürücü hem de çalışan düğümlerine otomatik olarak yüklenir.
- Şu %conda komutları desteklenmez: oluşturma, temizleme, karşılaştırma, etkinleştirme, devre dışı bırakma, çalıştırma, paket.
- Komutların tam listesi için %pip komutlarına ve %conda komutlarına başvurabilirsiniz.
Üçüncü taraf paketi yükleme
PyPI'dan kolayca bir Python kitaplığı yükleyebilirsiniz.
# Install vega_datasets
%pip install altair vega_datasets
Yükleme sonucunu doğrulamak için aşağıdaki kodu çalıştırarak vega_datasets
# Create a scatter plot
# Plot Miles per gallon against the horsepower across different region
import altair as alt
from vega_datasets import data
cars = data.cars()
alt.Chart(cars).mark_point().encode(
x='Horsepower',
y='Miles_per_Gallon',
color='Origin',
).interactive()
Depolama hesabından tekerlek paketi yükleme
Kitaplığı depolama alanından yüklemek için aşağıdaki komutları çalıştırarak depolama hesabınıza bağlamanız gerekir.
from notebookutils import mssparkutils
mssparkutils.fs.mount(
"abfss://<<file system>>@<<storage account>.dfs.core.windows.net",
"/<<path to wheel file>>",
{"linkedService":"<<storage name>>"}
)
Ardından gerekli tekerlek paketini yüklemek için %pip install komutunu kullanabilirsiniz
%pip install /<<path to wheel file>>/<<wheel package name>>.whl
Yerleşik kitaplığın başka bir sürümünü yükleme
Belirli bir paketin yerleşik sürümünü görmek için aşağıdaki komutu kullanabilirsiniz. Örnek olarak pandas kullanıyoruz
%pip show pandas
Sonuç şu günlük gibidir:
Name: pandas
Version: **1.2.3**
Summary: Powerful data structures for data analysis, time series, and statistics
Home-page: https://pandas.pydata.org
... ...
Pandas'ı başka bir sürüme (örneğin 1.2.4) değiştirmek için aşağıdaki komutu kullanabilirsiniz
%pip install pandas==1.2.4
Oturum kapsamlı kitaplığı kaldırma
Bu not defteri oturumunda yüklü olan bir paketi kaldırmak istiyorsanız aşağıdaki komutlara başvurabilirsiniz. Ancak, yerleşik paketleri kaldıramazsınız.
%pip uninstall altair vega_datasets --yes
requirement.txt dosyasından kitaplıkları yüklemek için %pip komutunu kullanma
%pip install -r /<<path to requirement file>>/requirements.txt
Oturum kapsamlı Java veya Scala paketleri
Oturum kapsamlı Java veya Scala paketlerini belirtmek için şu %%configure
seçeneği kullanabilirsiniz:
%%configure -f
{
"conf": {
"spark.jars": "abfss://<<file system>>@<<storage account>.dfs.core.windows.net/<<path to JAR file>>",
}
}
Not
- %%configure komutunu not defterinizin başında çalıştırmanızı öneririz. Geçerli parametrelerin tam listesi için bu belgeye bakabilirsiniz.
Oturum kapsamlı R paketleri (Önizleme)
Azure Synapse Analytics havuzları, kullanıma hazır birçok popüler R kitaplığı içerir. Apache Spark not defteri oturumunuz sırasında fazladan üçüncü taraf kitaplıkları da yükleyebilirsiniz.
Not
- İşlem hattı işleri çalıştırılırken R kitaplıklarını yönetmeye yönelik bu komutlar devre dışı bırakılır. İşlem hattı içinde bir paket yüklemek istiyorsanız, havuz düzeyinde kitaplık yönetimi özelliklerinden yararlanmanız gerekir.
- Oturum kapsamlı R kitaplıkları hem sürücü hem de çalışan düğümlerine otomatik olarak yüklenir.
Paketi yükleme
CRAN'dan kolayca R kitaplığı yükleyebilirsiniz.
# Install a package from CRAN
install.packages(c("nycflights13", "Lahman"))
Her seferinde aynı paket sürümünü indirdiğinizden emin olmak için depo olarak CRAN anlık görüntülerini de kullanabilirsiniz.
install.packages("highcharter", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")
Paketleri yüklemek için geliştirici araçlarını kullanma
Kitaplık, devtools
ortak görevleri hızlandırmak için paket geliştirmeyi basitleştirir. Bu kitaplık varsayılan Azure Synapse Analytics çalışma zamanına yüklenir.
Bir kitaplığın yüklenecek belirli bir sürümünü belirtmek için kullanabilirsiniz devtools
. Bu kitaplıklar küme içindeki tüm düğümlere yüklenir.
# Install a specific version.
install_version("caesar", version = "1.0.0")
Benzer şekilde, doğrudan GitHub'dan bir kitaplık yükleyebilirsiniz.
# Install a GitHub library.
install_github("jtilly/matchingR")
Şu anda aşağıdaki devtools
işlevler Azure Synapse Analytics'de desteklenmektedir:
Komut | Açıklama |
---|---|
install_github() | GitHub'dan R paketi yükler |
install_gitlab() | GitLab'den R paketi yükler |
install_bitbucket() | BitBucket'ten R paketi yükler |
install_url() | Rastgele bir URL'den R paketi yükler |
install_git() | Rastgele git deposundan yükler |
install_local() | Diskte yerel bir dosyadan yükler |
install_version() | CRAN'de belirli bir sürümden yükler |
Yüklü kitaplıkları görüntüleme
komutunu kullanarak library
oturumunuzun içinde yüklü olan tüm kitaplıkları sorgulayabilirsiniz.
library()
kitaplığının packageVersion
sürümünü denetlemek için işlevini kullanabilirsiniz:
packageVersion("caesar")
R paketini oturumdan kaldırma
ad alanından bir kitaplığı kaldırmak için işlevini kullanabilirsiniz detach
. Bu kitaplıklar yeniden yüklenene kadar diskte kalır.
# detach a library
detach("package: caesar")
Not defterinden oturum kapsamlı bir paketi kaldırmak için komutunu kullanın remove.packages()
. Bu kitaplık değişikliği aynı kümedeki diğer oturumları etkilemez. Kullanıcılar varsayılan Azure Synapse Analytics çalışma zamanının yerleşik kitaplıklarını kaldıramaz veya kaldıramaz.
remove.packages("caesar")
Not
SparkR, SparklyR veya R gibi temel paketleri kaldıramazsınız.
Oturum kapsamlı R kitaplıkları ve SparkR
Not defteri kapsamlı kitaplıklar SparkR çalışanlarında kullanılabilir.
install.packages("stringr")
library(SparkR)
str_length_function <- function(x) {
library(stringr)
str_length(x)
}
docs <- c("Wow, I really like the new light sabers!",
"That book was excellent.",
"R is a fantastic language.",
"The service in this restaurant was miserable.",
"This is neither positive or negative.")
spark.lapply(docs, str_length_function)
Oturum kapsamlı R kitaplıkları ve SparklyR
SparklyR'de spark_apply() ile Spark içindeki herhangi bir R paketini kullanabilirsiniz. Varsayılan olarak sparklyr::spark_apply() içinde paketler bağımsız değişkeni YANLIŞ olarak ayarlanır. Bu, geçerli libPath'lerdeki kitaplıkları çalışanlara kopyalar ve bunları içeri aktarmanıza ve çalışanlarda kullanmanıza olanak sağlar. Örneğin, sparklyr::spark_apply( ile sezar şifreli bir ileti oluşturmak için aşağıdakileri çalıştırabilirsiniz:
install.packages("caesar", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")
spark_version <- "3.2"
config <- spark_config()
sc <- spark_connect(master = "yarn", version = spark_version, spark_home = "/opt/spark", config = config)
apply_cases <- function(x) {
library(caesar)
caesar("hello world")
}
sdf_len(sc, 5) %>%
spark_apply(apply_cases, packages=FALSE)
Sonraki adımlar
- Varsayılan kitaplıkları görüntüleme: Apache Spark sürüm desteği
- Paketleri Synapse Studio portalın dışında yönetme: Az komutları ve REST API'leri aracılığıyla paketleri yönetme
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin