Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk a Databricks-jegyzetfüzetek ismert korlátozásait ismerteti. További erőforráskorlátok: Erőforráskorlátok.
Jegyzetfüzet méretezése
- Az összes legfeljebb 100 MB méretű jegyzetfüzet esetében a változatok pillanatképeinek automatikus mentése, manuális mentése és klónozása támogatott.
- Az IPYNB-jegyzetfüzetek importálása és exportálása támogatott legfeljebb 100 MB méretig.
- Az importálás és exportálás 10 MB-ig támogatott a DBC-archívumok, HTML-, R Markdown- és forrásjegyzetfüzetek esetében.
- Az egyes jegyzetfüzetcellák bemeneti korlátja 6 MB.
A jegyzetfüzet celláinak kimenetei
- A táblaeredmények legfeljebb 10 000 sort vagy 2 MB-ot érhetnek el, attól függően, hogy melyik az alacsonyabb.
- A feladatfürtök maximális notebookkimeneti mérete 30 MB.
- A Databricks Runtime 17.0-s vagy újabb verziójában, valamint a 3. rendszerű szerver nélküli környezetben:
- A cellakimenet maximális mérete alapértelmezés szerint 10 MB.
- Ez a korlát bármely 1 MB és 20 MB közötti értékre testre szabható a Python-cellákban a következő cellavariáns használatával:
%set_cell_max_output_size_in_mb <size_in_MB>. Ez a korlát ezután a jegyzetfüzet összes cellájában érvényes lesz. - Ha a cellakimenet túllépi a konfigurált méretkorlátot, a rendszer csonkolja a kimenetet, hogy elférjen a korláton belül. A csonkolást úgy alkalmazza a rendszer, hogy a lehető legtöbb hasznos kimenetet megőrizze.
- A Databricks Runtime 16.4 LTS-ben és annál alacsonyabb verziókban, valamint a 2-es vagy annál alacsonyabb kiszolgálói környezetben:
- A szöveges eredmények legfeljebb 50 000 karaktert adnak vissza.
- A Databricks Runtime 12.2-es vagy újabb verziója esetén ezt a korlátot akár 20 MB-ra is növelheti a Spark konfigurációs tulajdonságának
spark.databricks.driver.maxReplOutputLengthbeállításával. - Ha a cellakimenet túllépi a konfigurált méretkorlátot, a kimenet teljesen el lesz vetve.
Jegyzetfüzet hibakeresője
A jegyzetfüzet hibakeresőjének korlátozásai:
- A hibakereső csak a Pythonnal működik. Nem támogatja a Scalát vagy az R-t.
- A hibakereső eléréséhez a jegyzetfüzetnek az alábbi számítási erőforrások egyikéhez kell csatlakoznia:
- Kiszolgáló nélküli számítástechnika
- A Databricks Runtime 14.3 LTS és újabb verzióiban a hozzáférési módStandard (korábban megosztott) értékre történő állításával történő számítás.
- Számítási hozzáférési móddal, a Dedicated (korábban egyfelhasználós) beállítva a Databricks Runtime 13.3 LTS-ben és újabb verziókban.
- Számítás hozzáférési móddal beállítva Megosztott elkülönítés nélküli a Databricks Runtime 13.3 LTS-ben és az azt követő verziókban
- A hibakereső nem támogatja a Python-kódtárakba való lépést.
- Ha egy hibakeresési munkamenet aktív, nem futtathat más parancsokat a jegyzetfüzetben.
- A hibakereső nem támogatja az alfolyamatok hibakeresését, ha kiszolgáló nélküli számítási és standardhozzáférési módú fürtökhöz csatlakozik.
SQL Warehouse-jegyzetfüzetek
Az SQL Warehouse-jegyzetfüzetek korlátozásai:
- SQL-tárházhoz csatlakoztatva a végrehajtási kontextusoknak 8 óra az üresjárati időkorlátja.
ipywidgets
- Az ipywidgeteket használó jegyzetfüzeteket egy futó fürthöz kell csatolni.
- A vezérlőállapotok nem maradnak meg a jegyzetfüzet-munkamenetekben. A vezérlőcellák újrafuttatásával megjelenítheti őket minden alkalommal, amikor a jegyzetfüzetet egy fürthöz csatolja.
- A jelszó és a vezérlő ipywidgets nem támogatott.
- A HtmlMath és a Label widgetek LaTeX-kifejezésekkel nem jelennek meg megfelelően. (Például
widgets.Label(value=r'$$\frac{x+1}{x-1}$$')nem jelenik meg megfelelően.) - Előfordulhat, hogy a widgetek nem jelennek meg megfelelően, ha a jegyzetfüzet sötét módban van, különösen színes widgetek esetén.
- A widgetkimenetek nem használhatók a jegyzetfüzet irányítópult-nézeteiben.
- Az ipywidget üzeneteinek maximális hasznos adatmérete 5 MB. Előfordulhat, hogy a képeket vagy nagy szöveges adatokat használó widgetek nem lesznek megfelelően renderelve.
Databricks-widgetek
A Databricks-vezérlők korlátozásai:
Legfeljebb 512 widget hozható létre egy jegyzetfüzetben.
A widget neve legfeljebb 1024 karakter hosszúságú lehet.
A widgetcímke legfeljebb 2048 karakter hosszúságú lehet.
Szöveg widgetbe legfeljebb 2048 karakter adható meg.
Többválasztós, kombinált lista vagy legördülő vezérlő esetén legfeljebb 1024 választási lehetőség közül választhat.
Van egy ismert probléma, amely miatt előfordulhat, hogy a vezérlő állapota nem kerül megfelelően törlésre Az összes futtatásagomb megnyomása után, még akkor sem, ha a vezérlőt a kódban törlik vagy eltávolítják. Ha ez történik, eltérést fog tapasztalni a widget vizualizációja és a nyomtatott állapotok között. Előfordulhat, hogy a cellák egyenkénti újrafuttatása megkerüli ezt a problémát. A probléma teljes elkerülése érdekében a Databricks az ipywidgets használatát javasolja.
Nem szabad közvetlenül aszinkron környezetekben, például szálakban, alfolyamatokban vagy strukturált streamelésben (foreachBatch) hozzáférni a widget állapotához, mivel a widget állapota megváltozhat az aszinkron kód futtatása közben. Ha a widget állapotához aszinkron környezetben kell hozzáférnie, adja át argumentumként. Ha például a következő kóddal rendelkezik, amely szálakat használ:
import threading def thread_func(): # Unsafe access in a thread value = dbutils.widgets.get('my_widget') print(value) thread = threading.Thread(target=thread_func) thread.start() thread.join()A Databricks ehelyett egy argumentum használatát javasolja:
# Access widget values outside the asynchronous context and pass them to the function value = dbutils.widgets.get('my_widget') def thread_func(val): # Use the passed value safely inside the thread print(val) thread = threading.Thread(target=thread_func, args=(value,)) thread.start() thread.join()A widgetek általában nem tudnak argumentumokat átadni a jegyzetfüzet különböző nyelvei között. Létrehozhat egy widgetet
arg1egy Python-cellában, és használhatja egy SQL- vagy Scala-cellában, ha egyszerre egy cellát futtat. Ez azonban nem működik, ha az Összes futtatása vagy a jegyzetfüzet futtatása feladatként fut. Néhány kerülő megoldás a következő:- Az olyan jegyzetfüzetek esetében, amelyek nem keverik a nyelveket, létrehozhat egy jegyzetfüzetet az egyes nyelvekhez, és a jegyzetfüzet futtatásakor átadhatja az argumentumokat.
- A widgetet hívással
spark.sql()érheti el. Például a Pythonban:spark.sql("select getArgument('arg1')").take(1)[0][0].