Szerver nélküli megoldások korlátozásai

Ez a cikk a jegyzetfüzetek és feladatok kiszolgáló nélküli számításának jelenlegi korlátozásait ismerteti. Elsőként áttekinti a legfontosabb szempontokat, majd átfogó hivatkozási listát nyújt a korlátozásokról.

Nyelvi és API-támogatás

  • Az R nem támogatott.
  • Csak a Spark Connect API-k támogatottak. A Spark RDD API-k nem támogatottak.
  • A kiszolgáló nélküli számítás által használt Spark Connect a végrehajtási időre módosítja az elemzést és a névfeloldást, ami megváltoztathatja a kód viselkedését. Lásd a Spark Connect és a Klasszikus Spark összehasonlítása című témakört.
  • Az ANSI SQL az alapértelmezett az SQL írásakor. Az ANSI mód letiltása a következő beállítással spark.sql.ansi.enabledfalse: .
  • Amikor helyi adatokból spark.createDataFramehoz létre DataFrame-et, a sorméretek nem haladhatják meg a 128 MB-ot.

Adathozzáférés és -tárolás

  • Külső adatforrásokhoz való csatlakozáshoz a Unity Katalógust kell használnia. Külső helyeken érheti el a felhőtárhelyet.
  • A DBFS-hez való hozzáférés korlátozott. Használja inkább a Unity Catalog-köteteket, vagy a munkaterület fájljait.
  • A Maven-koordináták nem támogatottak.
  • A globális ideiglenes nézetek nem támogatottak. Ha munkamenetek közötti adatátadásra van szükség, a Databricks munkamenet-ideiglenes nézetek használatát vagy táblák létrehozását javasolja.

Felhasználó által definiált függvények (UDF-ek)

Felhasználói felület és naplózás

  • A Spark felhasználói felülete nem érhető el. Ehelyett használja a lekérdezésprofilt a Spark-lekérdezésekkel kapcsolatos információk megtekintéséhez. Lásd: Lekérdezési profil.
  • A Spark-naplók nem érhetők el. A felhasználók csak ügyféloldali alkalmazásnaplókhoz férhetnek hozzá.

Hálózatkezelés és munkaterület-hozzáférés

  • A munkaterületek közötti hozzáférés csak akkor engedélyezett, ha a munkaterületek ugyanabban a régióban találhatók, és a cél munkaterületen nincs konfigurálva IP ACL vagy előtérbeli PrivateLink.
  • A Databricks Container Services szolgáltatást nem támogatjuk.

Streamelési korlátozások

A kiszolgáló nélküli számítás a következő strukturált streamelési eseményindítókat támogatja:

  • Trigger.AvailableNow(). A Databricks ezt az eseményindító módot javasolja a kiszolgáló nélküli számításhoz.
  • Trigger.Once(). Ez az elavult mód támogatott, de nem ajánlott.

Kiszolgáló nélküli számítás esetén a következő eseményindítók nem támogatottak:

  • Trigger.Continuous(interval).
  • Trigger.ProcessingTime(interval).
    • Alapértelmezés szerint, ha nem ad meg eseményindító módot, az Apache Spark beállítja az eseményindítót Trigger.ProcessingTime("0 seconds"). A kiszolgáló nélküli számításhoz egy támogatott eseményindítót kell beállítania.

Ha nem támogatott eseményindítót próbál használni, a lekérdezés hibát INFINITE_STREAMING_TRIGGER_NOT_SUPPORTEDjelez.

A folyamatos streamelési számítási feladatokhoz használja az Aktivált vagy a folyamatos folyamat módot folyamatos módban kiszolgáló nélküli üzemmódban, vagy Trigger.AvailableNow()futtassa folyamatosan a feladatokat.

A streamelési használati eseteket a megfelelő kiszolgáló nélküli termékre leképező döntési útmutatóért lásd: Streamelés kiszolgáló nélküli számításon.

A standard hozzáférési módban történő streamelésre vonatkozó összes korlátozás is érvényes. Lásd a streamelési korlátozásokat.

Jegyzetfüzetek korlátozásai

  • A Scala és az R nem támogatott a jegyzetfüzetekben.
  • A JAR-kódtárak nem támogatottak a jegyzetfüzetekben. Kerülő megoldásokért tekintse meg a kiszolgáló nélküli számítás ajánlott eljárásait. A JAR-feladatok támogatottak a munkákban. A feladatokhoz lásd a JAR-feladatot.
  • A jegyzetfüzet-hatókörű kódtárakat nem gyorsítótárazza a rendszer a fejlesztési munkamenetek során.
  • A TEMP-táblák és -nézetek megosztása jegyzetfüzetek felhasználók közötti megosztásakor nem támogatott.
  • Az automatikus kiegészítés és a változókezelő nem támogatott a jegyzetfüzetekben lévő adatkeretekhez.
  • Alapértelmezés szerint az új jegyzetfüzetek .ipynb formátumban vannak mentve. Ha a jegyzetfüzetet forrásformátumban menti, előfordulhat, hogy a kiszolgáló nélküli metaadatok rögzítése nem megfelelő, és egyes funkciók nem a várt módon működnek.
  • A jegyzetfüzetcímkék nem támogatottak. Kiszolgáló nélküli használati szabályzatok használatával címkézze fel a kiszolgáló nélküli használatot.

A feladatok korlátozásai

  • A tevékenységnaplók nem különíthetők el feladatfuttatásonként. A naplók több tevékenység kimenetét tartalmazzák.
  • A feladattárak nem támogatottak a jegyzetfüzet-tevékenységekhez. Használjon jegyzetfüzet-hatókörű könyvtárakat inkább. Lásd: Notebook-hatókörű Python-könyvtárak.
  • Alapértelmezés szerint a kiszolgáló nélküli feladatok nem rendelkeznek lekérdezés-végrehajtási időtúllépéssel. A tulajdonság használatával végrehajtási időtúllépést állíthat be a spark.databricks.execution.timeout feladat-lekérdezésekhez. További részletekért lásd: Spark-tulajdonságok konfigurálása kiszolgáló nélküli jegyzetfüzetekhez és feladatokhoz.
  • A kiszolgáló nélküli számítás maximális futásideje 7 nap. A 7 napot meghaladó futtatásokat a platform leállítja, és nem próbálkozik újra. A 7 napnál hosszabb számítási feladatok futtatásához bontsa kisebb futtatásokra, vagy használjon klasszikus számítást.

Számításspecifikus korlátozások

A következő számításspecifikus funkciók nem támogatottak:

Gyorsítótárazási korlátozások

Hive-korlátozások

  • Hive SerDe-táblák nem támogatottak. Emellett a hive SerDe-táblába adatokat betöltő megfelelő LOAD DATA parancs nem támogatott. A parancs használata kivételt eredményez.

    Az adatforrások támogatása az AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, TEXT és XML formátumra korlátozódik.

  • A hive változók (például ${env:var}, ${configName}és ${system:var}spark.sql.variable) vagy a ${var} szintaxist használó konfigurációs változóhivatkozások nem támogatottak. A Hive-változók használata kivételt eredményez.

    Ehelyett használjon DECLARE VARIABLE, SET VARIABLEés SQL-munkamenetváltozó-hivatkozásokat és paraméterjelölőket ('?' vagy ':var') a munkamenet állapotának deklarálásához, módosításához és hivatkozásához. A IDENTIFIER záradék használatával számos esetben paraméterezheti az objektumneveket.

Támogatott adatforrások

A kiszolgáló nélküli számítás a következő adatforrásokat támogatja a DML-műveletekhez (írás, frissítés, törlés):

  • CSV
  • JSON
  • AVRO
  • DELTA
  • KAFKA
  • PARQUET
  • ORC
  • TEXT
  • UNITY_CATALOG
  • BINARYFILE
  • XML
  • SIMPLESCAN
  • ICEBERG

A kiszolgáló nélküli számítás a következő adatforrásokat támogatja olvasási műveletekhez:

  • CSV
  • JSON
  • AVRO
  • DELTA
  • KAFKA
  • PARQUET
  • ORC
  • TEXT
  • UNITY_CATALOG
  • BINARYFILE
  • XML
  • SIMPLESCAN
  • ICEBERG
  • MYSQL
  • POSTGRESQL
  • SQLSERVER
  • REDSHIFT
  • SNOWFLAKE
  • SQLDW(Azure Synapse)
  • DATABRICKS
  • BIGQUERY
  • ORACLE
  • SALESFORCE
  • SALESFORCE_DATA_CLOUD
  • TERADATA
  • WORKDAY_RAAS
  • MONGODB