Megosztás:


Databricks-alkalmazások függőségeinek kezelése

Minden Databricks-alkalmazás tartalmazhat függőségeket a Pythonhoz, Node.jsvagy mindkettőhöz. Ezeket a függőségeket nyelvspecifikus fájlokban határozhatja meg:

  • requirements.txt További Python-csomagok megadásához használjon fájlokat.
  • Egy package.json fájlt használjon a Node.js csomagok megadásához.

Minden alkalmazáshoz előre telepített Python-kódtárak is tartoznak. Lásd az előre telepített Python-kódtárakat.

Python-függőségek definiálása

További Python-kódtárak definiálásához használjon egy requirements.txt fájlt. Ha a felsorolt csomagok megegyeznek az előre telepített csomagokkal, a fájlban lévő verziók felülírják az alapértelmezett értékeket.

Például:

# Override default version of dash
dash==2.10.0

# Add additional libraries not pre-installed
requests==2.31.0
numpy==1.24.3

# Specify a compatible version range
scikit-learn>=1.2.0,<1.3.0

Verzióütközések elkerülése

A függőségek meghatározásakor tartsa szem előtt az alábbiakat:

  • Az előre telepített csomagok felülírása kompatibilitási problémákat okozhat, ha a megadott verzió jelentősen eltér az előre telepített csomagtól.
  • Mindig tesztelje az alkalmazást, hogy a csomagverzió módosításai ne vezessenek be hibákat.
  • Az explicit verziók requirements.txt rögzítése segít fenntartani a konzisztens alkalmazás viselkedést az üzembe helyezések során.

Node.js függőségek definiálása

Node.js kódtárak definiálásához adjon meg egy package.json fájlt az alkalmazás gyökerében. Az üzembe helyezés során az Azure Databricks észleli ezt a fájlt, és a benne felsorolt összes függőség telepítéséhez fut npm install .

Egy Vite-et használó React-alkalmazás fájlja például package.json így nézhet ki:

{
  "name": "react-fastapi-app",
  "version": "1.0.0",
  "private": true,
  "type": "module",
  "scripts": {
    "build": "npm run build:frontend",
    "build:frontend": "vite build frontend"
  },
  "dependencies": {
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "typescript": "^5.0.0",
    "vite": "^5.0.0",
    "@vitejs/plugin-react": "^4.2.0",
    "@types/react": "^18.2.0",
    "@types/react-dom": "^18.2.0"
  }
}

Megjegyzés:

Sorolja fel az npm run build összes szükséges csomagot dependencies alatt, ne devDependencies. Ha beállítja a NODE_ENV=production környezeti változók között, az üzembe helyezési folyamat kihagyja a devDependencies telepítését.

Függőségek telepítése és kezelése

A könyvtárak, amelyeket a requirements.txt definiál és a package.json telepít, közvetlenül a dedikált számítási erőforráson futó tárolón kerülnek telepítésre. A függőségek kezeléséért és javításáért Ön a felelős.

A függőségi fájlokban több forrásból is megadhat kódtárakat:

  • Nyilvános adattárakból letöltött kódtárak, például a PyPI és az npm
  • Privát adattárak, amelyek az Azure Databricks titkos kulcsaiban tárolt hitelesítő adatokkal hitelesítik magukat
  • Az /Volumes/ könyvtárában tárolt könyvtárak (például /Volumes/<catalog>/<schema>/<volume>/<path>)

Telepítés privát adattárakból

Ha privát adattárból szeretne csomagokat telepíteni, konfiguráljon környezeti változókat a hitelesítéshez. Állítsa be például úgy, PIP_INDEX_URL hogy a privát adattárra mutasson:

env:
  - name: PIP_INDEX_URL
    valueFrom: my-pypi-secret

A munkaterület hálózati konfigurációjának lehetővé kell tennie a privát adattár elérését. Lásd: A Databricks Apps hálózatkezelésének konfigurálása.

Kerékfájlok telepítése Unity Catalog-kötetekből

Python-csomagok telepítése a Unity Catalog köteteiben tárolt wheel fájlokból:

  1. Adja hozzá erőforrásként a Unity-katalógus kötetét az alkalmazáshoz. Lásd a Unity Catalog volume-ot.
  2. Hivatkozzon a teljes kerekű fájl elérési útjára közvetlenül a requirements.txtkövetkezőben:
/Volumes/<catalog>/<schema>/<volume>/my_package-1.0.0-py3-none-any.whl

Megjegyzés:

A környezeti változóhivatkozások nem támogatottak a requirements.txt. A teljes kerekes fájl elérési útját keményen kell kódolnia.

A külső csomagtárházakhoz való hozzáférés biztonságának növelése érdekében a kiszolgáló nélküli kimenő forgalom vezérlőivel korlátozhatja a nyilvános adattárakhoz való hozzáférést, és konfigurálhatja a privát hálózatkezelést. Lásd: A Databricks Apps hálózatkezelésének konfigurálása.