Bibliotheken voor Apache Spark-pools beheren in Azure Synapse Analytics
Zodra u de Scala-, Java-, R-(preview-) of Python-pakketten hebt geïdentificeerd die u wilt gebruiken of bijwerken voor uw Spark-toepassing, kunt u deze installeren of verwijderen in een Spark-pool. Bibliotheken op poolniveau zijn beschikbaar voor alle notebooks en taken die in de pool worden uitgevoerd.
Er zijn twee belangrijke manieren om een bibliotheek te installeren in een Spark-pool:
- Installeer een werkruimtebibliotheek die is geüpload als een werkruimtepakket.
- Voor het bijwerken van Python-bibliotheken geeft u een requirements.txt - of Conda environment.yml-omgevingsspecificatie op om pakketten te installeren vanuit opslagplaatsen zoals PyPI, Conda-Forge en meer. Lees de sectie over omgevingsspecificatie voor meer informatie.
Nadat de wijzigingen zijn opgeslagen, wordt de installatie uitgevoerd door een Spark-taak en wordt de resulterende omgeving in de cache opgeslagen voor later hergebruik. Zodra de taak is voltooid, maken nieuwe Spark-taken of notebooksessies gebruik van de bijgewerkte poolbibliotheken.
Belangrijk
- Als het pakket dat u installeert groot is of lang duurt voordat het is geïnstalleerd, is dit van invloed op de opstarttijd van het Spark-exemplaar.
- Het wijzigen van de versie van PySpark, Python, Scala/Java, .NET, R of Spark wordt niet ondersteund.
- Het installeren van pakketten vanuit externe opslagplaatsen zoals PyPI, Conda-Forge of de standaard Conda-kanalen wordt niet ondersteund in werkruimten waarvoor bescherming tegen gegevensexfiltratie is ingeschakeld.
Pakketten beheren vanuit Synapse Studio of Azure Portal
Spark-poolbibliotheken kunnen worden beheerd vanuit de Synapse Studio of Azure Portal.
Bibliotheken bijwerken of toevoegen aan een Spark-pool:
Navigeer vanuit de Azure Portal naar uw Azure Synapse Analytics-werkruimte.
Als u bijwerkt vanaf de Azure Portal:
Selecteer in de sectie Synapse-resources het tabblad Apache Spark-pools en selecteer een Spark-pool in de lijst.
Selecteer pakketten in de sectie Instellingen van de Spark-pool.
Als u bijwerkt vanaf de Synapse Studio:
Voor Python-feedbibliotheken uploadt u het omgevingsconfiguratiebestand met behulp van de bestandskiezer in de sectie Pakketten van de pagina.
U kunt ook extra werkruimtepakketten selecteren om Jar-, Wheel- of Tar.gz-bestanden toe te voegen aan uw pool.
U kunt de afgeschafte pakketten ook verwijderen uit de sectie Werkruimtepakketten . Deze pakketten worden niet meer door uw pool gekoppeld.
Zodra u uw wijzigingen hebt opgeslagen, wordt een systeemtaak geactiveerd om de opgegeven bibliotheken te installeren en in de cache op te slaan. Dit proces helpt de totale opstarttijd van de sessie te verkorten.
Zodra de taak is voltooid, worden de bijgewerkte poolbibliotheken door alle nieuwe sessies opgehaald.
Belangrijk
Door de optie Nieuwe instellingen afdwingen te selecteren, beëindigt u alle huidige sessies voor de geselecteerde Spark-pool. Zodra de sessies zijn beëindigd, moet u wachten tot de pool opnieuw is opgestart.
Als deze instelling is uitgeschakeld, moet u wachten totdat de huidige Spark-sessie deze handmatig beëindigt of stopt. Zodra de sessie is beëindigd, moet u de pool opnieuw laten opstarten.
Voortgang van de installatie bijhouden
Een door het systeem gereserveerde Spark-taak wordt gestart telkens wanneer een pool wordt bijgewerkt met een nieuwe set bibliotheken. Met deze Spark-taak kunt u de status van de bibliotheekinstallatie controleren. Als de installatie mislukt vanwege bibliotheekconflicten of andere problemen, keert de Spark-pool terug naar de vorige of standaardstatus.
Daarnaast kunnen gebruikers ook de installatielogboeken inspecteren om afhankelijkheidsconflicten te identificeren of te zien welke bibliotheken zijn geïnstalleerd tijdens de poolupdate.
Ga als volgt te werk om deze logboeken weer te geven:
- Navigeer naar de lijst met Spark-toepassingen op het tabblad Controleren .
- Selecteer de systeem-Spark-toepassingstaak die overeenkomt met uw poolupdate. Deze systeemtaken worden uitgevoerd onder de titel SystemReservedJob-LibraryManagement .
- Schakel over om het stuurprogramma en de stdout-logboeken weer te geven.
- In de resultaten ziet u de logboeken met betrekking tot de installatie van uw afhankelijkheden.
Indelingen voor omgevingsspecificatie
PIP-requirements.txt
Een requirements.txt-bestand (uitvoer van de pip freeze
opdracht) kan worden gebruikt om de omgeving bij te werken. Wanneer een groep wordt bijgewerkt, worden de pakketten die in dit bestand worden vermeld, gedownload van PyPI. De volledige afhankelijkheden worden vervolgens in de cache opgeslagen en opgeslagen voor later hergebruik van de pool.
In het volgende codefragment ziet u de indeling voor het bestand met vereisten. De naam van het PyPI-pakket wordt vermeld, samen met een exacte versie. Dit bestand volgt de indeling die wordt beschreven in de referentiedocumentatie pip freeze .
In dit voorbeeld wordt een specifieke versie vastgemaakt.
absl-py==0.7.0
adal==1.2.1
alabaster==0.7.10
YML-indeling
Daarnaast kunt u ook een environment.yml-bestand opgeven om de poolomgeving bij te werken. De pakketten die in dit bestand worden vermeld, worden gedownload van de standaard Conda-kanalen, Conda-Forge en PyPI. U kunt andere kanalen opgeven of de standaardkanalen verwijderen met behulp van de configuratieopties.
In dit voorbeeld worden de kanalen en Conda/PyPI-afhankelijkheden opgegeven.
name: stats2
channels:
- defaults
dependencies:
- bokeh
- numpy
- pip:
- matplotlib
- koalas==1.7.0
Zie Een omgeving maken op basis van een environment.yml-bestand voor meer informatie over het maken van een omgeving op basis van dit bestand environment.yml.
Volgende stappen
- De standaardbibliotheken weergeven: Versieondersteuning voor Apache Spark
- Bibliotheekinstallatiefouten oplossen: Bibliotheekfouten oplossen