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.
Korlátozások áttekintése
Mielőtt új számítási feladatokat hoz létre, vagy a számítási feladatokat kiszolgáló nélküli számítási feladatokra migrálja, először vegye figyelembe a következő korlátozásokat:
- A Python és az SQL az egyetlen támogatott nyelv.
- Csak a Spark connect API-k támogatottak. A Spark RDD API-k nem támogatottak.
- A JAR-kódtárak nem támogatottak. Kerülő megoldásokért tekintse meg a kiszolgáló nélküli számítás ajánlott eljárásait.
- A kiszolgáló nélküli számítás minden munkaterület-felhasználó számára elérhető.
- A jegyzetfüzetcímkék nem támogatottak. A szerver nélküli használat címkézéséhez használja a költségvetési irányelveket.
- Streameléshez csak növekményes köteglogika használható. Az alapértelmezett vagy az időalapú triggerintervallumok nem támogatottak. Lásd a streamelési korlátozásokat.
Korlátozások hivatkozási listája
Az alábbi szakaszok a kiszolgáló nélküli számítás jelenlegi korlátozásait sorolják fel.
A kiszolgáló nélküli számítás a Databricks standard hozzáférési módú számítási architektúráján (korábbi nevén megosztott hozzáférési módon) alapul. Az alábbiakban a standard hozzáférési módtól örökölt legfontosabb korlátozásokat, valamint további kiszolgáló nélküli korlátozásokat soroljuk fel. A standard hozzáférési mód korlátozásainak teljes listáját A Unity Katalógusszámítási hozzáférési módra vonatkozó korlátozásai című cikkben találja.
Általános korlátozások
- A Scala és az R nem támogatott.
- 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.enabled
false
: . - A Spark RDD API-k nem támogatottak.
- Spark-környezet (sc),
spark.sparkContext
éssqlContext
nem támogatott.
- Databricks Container Services nem támogatott.
- A webes terminál nem támogatott.
- Egyetlen lekérdezés sem futtatható 48 óránál tovább.
- Külső adatforrásokhoz való csatlakozáshoz a Unity Katalógust kell használnia. Külső helyeken érheti el a felhőtárhelyet.
- Az adatforrások támogatása az AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT és XML formátumra korlátozódik.
- A felhasználó által definiált függvények (UDF-ek) nem tudják elérni az internetet. Emiatt a CREATE FUNCTION (külső) parancs nem támogatott. A Databricks a CREATE FUNCTION (SQL és Python) használatát javasolja az UDF-ek létrehozásához.
- Az egyes sorok mérete nem haladhatja meg a 128 MB maximális méretet.
- 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 kiszolgáló nélküli jegyzetfüzetek és feladatok használatakor nem érhetők el. A felhasználók csak ügyféloldali alkalmazásnaplókhoz férhetnek hozzá.
- 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 globális ideiglenes nézetek nem támogatottak. A Databricks munkamenet-ideiglenes nézetek használatát javasolja vagy olyan táblák létrehozását, ahol munkamenetek közötti adatátadásra van szükség.
Streamelési korlátozások
- Az alapértelmezett vagy az időalapú triggerintervallumok nem támogatottak. Kizárólag az
Trigger.AvailableNow
támogatott. Lásd: Strukturált streamelési eseményindítók időközeinek konfigurálása. - A standard hozzáférési módban történő streamelésre vonatkozó összes korlátozás is érvényes. Lásd: Streamelési korlátozások és követelmények a Unity Catalog standard hozzáférési módhoz.
Gépi tanulási korlátozások
- A Databricks Runtime for Machine Learning és az Apache Spark MLlib nem támogatott.
- A GPU-k nem támogatottak.
Jegyzetfüzetek korlátozásai
- A jegyzetfüzet-hatókörű kódtárak nem gyorsítótárazva vannak a fejlesztési munkamenetekben.
- 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.
Munkafolyamat korlátozásai
- A feladatok kiszolgáló nélküli számításának illesztőprogram-mérete jelenleg rögzített, és nem módosítható.
- 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: Jegyzetfüzetre korlátozott Python könyvtárak.
Számításspecifikus korlátozások
A következő számításspecifikus funkciók nem támogatottak:
- Számítási szabályzatok
- Számítási hatókörű init-szkriptek
- Számítási hatókörű könyvtárak, beleértve az egyéni adatforrásokat és a Spark-bővítményeket. Használjon inkább jegyzetfüzet-hatókörű kódtárakat .
- Példánykészletek
- Számítási eseménynaplók
- A legtöbb Apache Spark számítási konfiguráció. A támogatott konfigurációk listáját Támogatott Spark-konfigurációs paraméterekcímű témakörben találja.
- Környezeti változók. A Databricks ehelyett widgetek használatát javasolja feladat- és tevékenységparamétereklétrehozásához.
Gyorsítótárazási korlátozások
A dataframe és az SQL Cache API-k nem támogatottak a kiszolgáló nélküli számításban. Ezen API-k vagy SQL-parancsok bármelyikének használata kivételt eredményez.
- df.cache(), df.persist()
- df.unpersist()
- spark.catalog.cacheTable()
- spark.catalog.uncacheTable()
- spark.catalog.clearCache()
- CACHE TABLE
- UNCACHE TABLE
- REFRESH TABLE
- CLEAR CACHE
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, ORC, 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álja DECLARE VARIABLE, SET VARIABLEés SQL-munkamenet változóinak hivatkozásait és paraméterjelölőkre ('?', 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.