Een aangepast Conda-kanaal maken voor pakketbeheer
Bij het installeren van Python-pakketten gebruikt conda-pakketbeheer kanalen om naar pakketten te zoeken. Mogelijk moet u om verschillende redenen een aangepast Conda-kanaal maken. U kunt bijvoorbeeld het volgende vinden:
- uw werkruimte is beveiligd tegen gegevensexfiltratie en uitgaande verbindingen worden geblokkeerd.
- u pakketten hebt die u niet wilt uploaden naar openbare opslagplaatsen.
- u een alternatieve opslagplaats wilt instellen voor de gebruikers in uw werkruimte.
In dit artikel vindt u een stapsgewijze handleiding om u te helpen bij het maken van uw aangepaste Conda-kanaal in uw Azure Data Lake Storage-account.
Uw lokale computer instellen
Installeer Conda op uw lokale computer. U kunt de Azure Synapse Spark-runtime raadplegen om de Conda-versie te identificeren die voor dezelfde runtime wordt gebruikt.
Installeer conda-build om een aangepast kanaal te maken.
conda install conda-build
- Organiseer alle pakketten in voor het platform dat u wilt bedienen. In dit voorbeeld installeren we het Anaconda-archief op uw lokale computer.
sudo wget https://repo.continuum.io/archive/Anaconda3-4.4.0-Linux-x86_64.sh
sudo chmod +x Anaconda3-4.4.0-Linux-x86_64.sh
sudo bash Anaconda3-4.4.0-Linux-x86_64.sh -b -p /usr/lib/anaconda3
export PATH="/usr/lib/anaconda3/bin:$PATH"
sudo chmod 777 -R /usr/lib/anaconda3
- Als u een omgeving wilt maken die vergelijkbaar is met de omgeving die beschikbaar is in de Azure Synapse runtime, kunt u deze sjabloon downloaden. Er kunnen kleine verschillen zijn tussen de sjabloon en de werkelijke Azure Synapse Environment. Na het downloaden kunt u de volgende opdracht uitvoeren:
apt-get -yq install gcc g++
conda env update --prune -f base_environment.yml
Het opslagaccount koppelen aan uw computer
Vervolgens koppelen we het Azure Data Lake Storage Gen2-account aan uw lokale computer. Dit proces kan ook worden uitgevoerd met een WASB-account; We zullen echter een voorbeeld voor het ADLSg2-account bekijken
Ga naar deze pagina voor meer informatie over het koppelen van het opslagaccount op uw lokale computer.
- U kunt blobfuse installeren vanuit de Linux-softwareopslagplaats voor Microsoft-producten.
wget https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install blobfuse fuse
export AZURE_STORAGE_ACCOUNT=<storage-account-name>
export AZURE_STORAGE_SAS_TOKEN="<SAS>"
export AZURE_STORAGE_BLOB_ENDPOINT=*.dfs.core.windows.net
- Maak uw koppelpunt (
mkdir /path/to/mount
) en koppel een blobcontainer met blobfuse. In dit voorbeeld gebruiken we de waarde privatechannel voor de variabele mycontainer .
sudo mkdir /home/trusted-service-user/privatechannel
sudo mkdir -p /mnt/blobfusetmp
blobfuse /home/trusted-service-user/privatechannel --container-name=privatechannel --tmp-path=/mnt/blobfusetmp --use-adls=true --log-level=LOG_DEBUG
sudo chown trusted-service-user /mnt/blobfusetmp
Het kanaal maken
In de volgende reeks stappen maken we een aangepast Conda-kanaal.
- Maak op uw lokale computer een map om alle pakketten voor uw aangepaste kanaal te ordenen. Organiseer alle
tar.bz2
pakketten vanuit https://repo.anaconda.com/pkgs/main/linux-64/ in de submap. Zorg ervoor dat u ook alle afhankelijke tar.bz2-pakketten opneemt.
cd ~/privatechannel/
mkdir -p channel/linux64
<Add all .tar.bz2 from https://repo.anaconda.com/pkgs/main/linux-64/>
// Note: Add all dependent .tar.bz2 as well
cd channel
mkdir noarch
echo '{}' > noarch/repodata.json
bzip2 -k noarch/repodata.json
// Create channel
conda index channel/noarch
conda index channel/linux-64
conda index channel
- U kunt nu het opslagaccount controleren waar uw
privatechannel/channel
map zou zijn gemaakt.
Notitie
Conda houdt zich niet aan het SAS-token dat is gekoppeld aan een container. Daarom moet u de container 'privatechannel' markeren als openbare toegang.
Voor meer informatie kunt u ook de Conda-gebruikershandleiding voor het maken van aangepaste kanalen raadplegen.
Machtigingen voor opslagaccounts
Nu moeten we de machtigingen voor het opslagaccount valideren. Als u deze machtigingen wilt instellen, gaat u naar het pad waar het aangepaste kanaal wordt gemaakt. Maak vervolgens een SAS-token voor privatechannel
met lees-, lijst- en uitvoeringsmachtigingen.
De kanaalnaam wordt nu de BLOB SAS-URL die wordt gegenereerd op basis van dit proces.
Een voorbeeld van een Conda-omgevingsconfiguratiebestand maken
Controleer ten slotte het installatieproces door een Conda-voorbeeldbestand environment.yml
te maken. Als u een werkruimte voor gegevensexfiltratiebeveiliging hebt ingeschakeld, moet u het kanaal opgeven in uw nodefaults
omgevingsbestand.
Hier volgt een voorbeeld van een Conda-configuratiebestand:
name: sample
channels:
- https://<<storage account name>>.blob.core.windows.net/privatechannel/channel?<<SAS Token>
- nodefaults
dependencies:
- openssl
- ncurses
Nadat u het Conda-voorbeeldbestand hebt gemaakt, kunt u een virtuele Conda-omgeving maken. U kunt dit lokaal controleren door de volgende opdrachten uit te voeren:
conda env create --file sample.yml
source activate env
conda list
Nu u uw aangepaste kanaal hebt geverifieerd, kunt u het python-poolbeheerproces gebruiken om de bibliotheken in uw Apache Spark-pool bij te werken.
Volgende stappen
- De standaardbibliotheken weergeven: Versieondersteuning voor Apache Spark
- Python-pakketten op sessieniveau beheren: Python-pakketbeheer in notebooksessie