Delen via


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

  1. 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.

  2. Installeer conda-build om een aangepast kanaal te maken.

conda install conda-build
  1. 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  
  1. 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.

  1. 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
  1. 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.

  1. 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
  1. 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