Egyéni Conda-csatorna létrehozása csomagkezeléshez
Python-csomagok telepítésekor a Conda csomagkezelő csatornákat használ a csomagok kereséséhez. Előfordulhat, hogy több okból is létre kell hoznia egy egyéni Conda-csatornát. Előfordulhat például, hogy:
- a munkaterület adatkiszivárgás védett, és a kimenő kapcsolatok le vannak tiltva.
- olyan csomagokkal rendelkezik, amelyeket nem szeretne nyilvános adattárakba feltölteni.
- alternatív adattárat szeretne beállítani a munkaterületen belüli felhasználók számára.
Ebben a cikkben lépésről lépésre bemutatjuk, hogyan hozhatja létre egyéni Conda-csatornáját Azure Data Lake Storage fiókjában.
A helyi gép beállítása
Telepítse a Condát a helyi gépen. Az ugyanazon futtatókörnyezetben használt Conda-verzió azonosításához tekintse meg a Azure Synapse Spark-futtatókörnyezetet.
Egyéni csatorna létrehozásához telepítse a conda-buildet.
conda install conda-build
- Rendszerezze az összes csomagot a kiszolgálni kívánt platformhoz. Ebben a példában az Anaconda archívumot telepítjük a helyi gépére.
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
- Ha a Azure Synapse futtatókörnyezetben létrehozott környezethez hasonló környezetet szeretne létrehozni, letöltheti ezt a sablont. A sablon és a tényleges Azure Synapse környezet között kis eltérések lehetnek. A letöltés után futtathatja a következő parancsot:
apt-get -yq install gcc g++
conda env update --prune -f base_environment.yml
A tárfiók csatlakoztatása a géphez
Ezután csatlakoztatjuk a Azure Data Lake Storage Gen2 fiókot a helyi gépére. Ez a folyamat WASB-fiókkal is elvégezhető; azonban egy példát mutatunk be az ADLSg2-fiókra
A tárfiók helyi gépen való csatlakoztatásával kapcsolatos további információkért látogasson el erre a lapra.
- A blobfuse-t a Microsoft-termékek linuxos szoftvertárából telepítheti.
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
- Hozza létre a csatlakoztatási pontot (
mkdir /path/to/mount
), és csatlakoztassa a blobtárolót a blobfuse használatával. Ebben a példában a privatechannel értéket használjuk a mycontainer változóhoz.
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
A csatorna létrehozása
A következő lépésben létrehozunk egy egyéni Conda-csatornát.
- A helyi gépen hozzon létre egy könyvtárat az egyéni csatorna összes csomagjának rendszerezéséhez. Rendezze az
tar.bz2
összes csomagot https://repo.anaconda.com/pkgs/main/linux-64/ az alkönyvtárba. Ügyeljen arra, hogy az összes függő tar.bz2 csomagot is tartalmazza.
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
- Most ellenőrizheti azt a tárfiókot, ahol a
privatechannel/channel
címtár létre lett volna hozva.
Megjegyzés
A Conda nem tartja tiszteletben a tárolóhoz társított SAS-jogkivonatot. Ezért a "privatechannel" tárolót nyilvános hozzáférésként kell megjelölnie.
További információért látogasson el a Conda egyéni csatornák létrehozására vonatkozó felhasználói útmutatójára is.
Tárfiók engedélyei
Most ellenőriznünk kell a tárfiók engedélyeit. Az engedélyek beállításához lépjen arra az elérési útra, ahol az egyéni csatorna létrejön. Ezután hozzon létre egy SAS-jogkivonatot, amely olvasási privatechannel
, listázási és végrehajtási engedélyekkel rendelkezik.
A csatorna neve mostantól a folyamatból létrehozott blob SAS URL-címe lesz.
Minta Conda-környezet konfigurációs fájljának létrehozása
Végül ellenőrizze a telepítési folyamatot egy Conda-mintafájl environment.yml
létrehozásával. Ha egy adatkiszivárgás elleni védelemmel rendelkező munkaterületen van, meg kell adnia a csatornát a nodefaults
környezeti fájlban.
Íme egy példa a Conda konfigurációs fájlra:
name: sample
channels:
- https://<<storage account name>>.blob.core.windows.net/privatechannel/channel?<<SAS Token>
- nodefaults
dependencies:
- openssl
- ncurses
Miután létrehozta a Conda-mintafájlt, létrehozhat egy virtuális Conda-környezetet. Ezt helyileg az alábbi parancsok futtatásával ellenőrizheti:
conda env create --file sample.yml
source activate env
conda list
Most, hogy ellenőrizte az egyéni csatornát, a Python-készlet felügyeleti folyamatával frissítheti az Apache Spark-készlet kódtárait.
Következő lépések
- Az alapértelmezett kódtárak megtekintése: Apache Spark-verzió támogatása
- Munkamenetszintű Python-csomagok kezelése: Python-csomagkezelés a jegyzetfüzet-munkamenetben