Környezeti változók beállítása és használata init-szkriptekkel

Az Init-szkriptek hozzáférnek a fürtön található környezeti változókhoz.

Note

Ez az oldal a környezeti változókat írja le init szkriptek számára klasszikus számításon. A környezeti változók átviteléhez alkalmazáskódnak szerver nélküli Lakeflow feladatokban lásd: Környezeti változók konfigurálása szerver nélküli munkákhoz.

Note

Standard hozzáférési módban a Databricks Runtime 19-es és újabb verzióiban csak előre definiált környezeti változók állnak rendelkezésre az init szkriptekhez. A fürtön beállított egyéb változók továbbra is elérhetők maradnak a felhasználói kód számára, beleértve az UDF-eket is, de nem érhetők el init-szkriptek számára. Lásd a környezeti változókra vonatkozó korlátozásokat.

Alapértelmezett környezeti változók

Azure Databricks számos alapértelmezett változót állít be, amelyek hasznosak lehetnek az init szkript logikájában. A fürtszintű és globális indítási szkriptek a következő környezeti változókat támogatják:

  • DB_CLUSTER_ID: annak a fürtnek az azonosítója, amelyen a szkript fut. Tekintse meg a Clusters API-t.
  • DB_CONTAINER_IP: annak a tárolónak a privát IP-címe, amelyben a Spark fut. Az init szkript ebben a tárolóban fut. Tekintse meg a Clusters API-t.
  • DB_IS_DRIVER: hogy a szkript egy illesztőprogram-csomóponton fut-e.
  • DB_DRIVER_IP: az illesztőprogram-csomópont IP-címe.
  • DB_INSTANCE_TYPE: a hoszt virtuális gép példánytípusa.
  • DB_CLUSTER_NAME: annak a fürtnek a neve, amelyen a szkript fut.
  • DB_IS_JOB_CLUSTER: hogy a fürt egy feladat futtatásához lett-e létrehozva. Lásd: Számítási feladatok konfigurálása.

Ezeket az előre definiált környezeti változókat nem lehet felülbírálni.

Egyéni környezeti változók beállítása

A számítási erőforráson futó init-szkriptekből elérhető egyéni környezeti változók a Spark-konfigurációban állíthatók be. Lásd : Környezeti változók.

Környezeti változókat a spark_env_vars mező használatával a Fürt létrehozása API-ben vagy a Fürt frissítése API-ban is beállíthatja.

Környezeti változók használata

Az alábbi példa egy alapértelmezett környezeti változót használ egy szkript egy részének futtatásához csak egy illesztőprogram-csomóponton:

echo $DB_IS_DRIVER
if [[ $DB_IS_DRIVER = "TRUE" ]]; then
  <run this part only on driver>
else
  <run this part only on workers>
fi
<run this part on both driver and workers>

Titkos kódok init szkriptekben

Titkos kódra való hivatkozáskor bármilyen érvényes változónevet használhat. A környezeti változókban hivatkozott titkos kódokhoz való hozzáférést a fürtöt konfiguráló felhasználó engedélyei határozzák meg. A környezeti változókban tárolt titkos kódok a fürt összes felhasználója számára elérhetők, de egyszerű szöveges megjelenítésből vannak újrakódoltak.

Lásd: Titkos kód használata Spark-konfigurációs tulajdonságban vagy környezeti változóban.