Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Databricks podporuje použití různých programovacích jazyků pro vývoj a přípravu dat. Tento článek popisuje dostupné možnosti, kde se tyto jazyky dají používat a jejich omezení.
Doporučení
Databricks doporučuje Python a SQL pro nové projekty:
- python je velmi oblíbený programovací jazyk pro obecné účely. Datové rámce PySpark usnadňují vytváření testovatelných modulárních transformací. Ekosystém Pythonu také podporuje širokou škálu knihoven pro rozšíření vašeho řešení.
-
SQL je velmi oblíbený jazyk pro správu a manipulaci s relačními datovými sadami prováděním operací, jako jsou dotazování, aktualizace, vkládání a odstraňování dat. SQL je dobrou volbou, pokud je vaše pozadí primárně v databázích nebo datových skladech. SQL lze také vložit do Pythonu pomocí
spark.sql.
Následující jazyky mají omezenou podporu, takže je Databricks nedoporučuje pro nové projekty přípravy dat:
- Scala je jazyk, který se používá pro vývoj Apache Sparku™.
- R je plně podporováno pouze v poznámkových blocích Databricks.
Podpora jazyků se také liší v závislosti na funkcích používaných k vytváření datových kanálů a dalších řešení. Kanály Lakeflow například podporují Python a SQL, zatímco pracovní postupy umožňují vytvářet datové kanály pomocí Python, SQL, Scaly a Java.
Poznámka
Jiné jazyky je možné použít k interakci s Databricks k dotazování na data nebo k provádění transformací dat. Tyto interakce jsou však primárně v kontextu integrace s externími systémy. V těchto případech může vývojář používat téměř jakýkoli programovací jazyk k interakci s Databricks prostřednictvím rozhraníDatabricks REST API , ovladačů ODBC/JDBC, konkrétních jazyků s podporou konektoru Databricks SQL (Go, Python, Javascript/Node.js) nebo jazyků, které mají implementace Spark Connect, jako je Go a Rust.
Vývoj pracovních prostorů vs. místní vývoj
Datové projekty a kanály můžete vyvíjet pomocí pracovního prostoru Databricks nebo integrovaného vývojového prostředí (integrované vývojové prostředí) na místním počítači, ale doporučujeme spustit nové projekty v pracovním prostoru Databricks. Pracovní prostor je přístupný pomocí webového prohlížeče, poskytuje snadný přístup k datům v katalogu Unity a podporuje výkonné možnosti ladění a funkce, jako je Genie Code.
Vývoj kódu v pracovním prostoru Databricks pomocí poznámkových bloků Databricks nebo editoru SQL Poznámkové bloky Databricks podporují více programovacích jazyků i uvnitř stejného poznámkového bloku, takže můžete vyvíjet pomocí Pythonu, SQL a Scaly.
Vývoj kódu přímo v pracovním prostoru Databricks má několik výhod:
- Smyčka zpětné vazby je rychlejší. Na skutečných datech můžete okamžitě testovat napsaný kód.
- Integrovaný kód Genie pracující s kontextem může urychlit vývoj a vyřešit problémy.
- Poznámkové bloky a dotazy můžete snadno naplánovat přímo z pracovního prostoru Databricks.
- Pro vývoj v Pythonu můžete kód Pythonu správně strukturovat pomocí souborů jako balíčků Pythonu v pracovním prostoru.
Místní vývoj v integrovaném vývojovém prostředí ale nabízí následující výhody:
- IdEs mají lepší nástroje pro práci se softwarovými projekty, jako je navigace, refaktoring kódu a statická analýza kódu.
- Můžete zvolit, jak řídíte zdroj a pokud používáte Git, pokročilejší funkce jsou k dispozici místně než v pracovním prostoru se složkami Gitu.
- Existuje širší škála podporovaných jazyků. Můžete například vyvíjet kód pomocí Javy a nasazovat ho jako úlohu JAR.
- Existuje lepší podpora ladění kódu.
- Existuje lepší podpora pro práci s jednotkovými testy.
Příklad výběru jazyka
Výběr jazyka pro přípravu dat se vizualizuje pomocí následujícího rozhodovacího stromu:
Vývoj kódu Pythonu
Jazyk Pythonu má prvotřídní podporu v Databricks. Můžete jej používat v noteboocích Databricks, v pipelinech a pracovních postupech Lakeflow, k vývoji uživatelských funkcí a také jej nasazovat jako skript v Pythonu a jako balíčky wheel.
Při vývoji projektů Pythonu v pracovním prostoru Databricks, ať už jako poznámkové bloky nebo v souborech, poskytuje Databricks nástroje, jako je dokončování kódu, navigace, ověřování syntaxe, generování kódu pomocí Genie Code, interaktivní ladění a další. Vyvinutý kód lze spouštět interaktivně, nasadit jako pracovní postup Databricks nebo kanály Lakeflow nebo dokonce jako funkci v katalogu Unity. Kód můžete strukturovat tak, že ho rozdělíte do samostatných balíčků Pythonu, které se pak dají použít v několika kanálech nebo úlohách.
Databricks poskytuje rozšíření pro Visual Studio Code a JetBrains nabízí modul plug-in pro PyCharm, který umožňuje vyvíjet kód Pythonu v integrovaném vývojovém prostředí, synchronizovat kód do pracovního prostoru Databricks, spouštět ho v pracovním prostoru a provádět podrobné ladění pomocí Databricks Connect. Vyvinutý kód lze nasadit pomocí Deklarativních automatizačních balíků jako úlohy nebo datového toku Databricks.
Vývoj kódu SQL
Jazyk SQL je možné použít v poznámkových blocích Databricks nebo jako dotazy Databricks pomocí editoru SQL. V obou případech získá vývojář přístup k nástrojům, jako je dokončování kódu, a kód Genie, který je možné použít ke generování kódu a k řešení problémů. Vyvinutý kód lze nasadit jako úlohu nebo zpracovatelský řetězec.
Pracovní postupy Databricks také umožňují spouštět kód SQL uložený v souboru. Pomocí integrovaného vývojového prostředí (IDE) můžete tyto soubory vytvořit a nahrát je do pracovního prostoru. Dalším oblíbeným využitím SQL jsou kanály přípravy dat vyvinuté pomocí dbt (nástroj pro sestavení dat). Pracovní postupy Databricks podporují orchestraci projektů dbt.
Vývoj kódu Scala
Scala je původní jazyk Apache Sparku™. Je to silný jazyk, ale má strmou křivku učení. I když je Scala podporovaným jazykem v poznámkových blocích Databricks, existují určitá omezení týkající se vytváření a údržby tříd a objektů Scala, což může ztížit vývoj složitých pipelin. IdEs obvykle poskytují lepší podporu pro vývoj kódu Scala, který se pak dá nasadit pomocí úloh JAR v pracovních postupech Databricks.
Další zdroje informací
- Vývoj v Databricks je vstupním bodem pro dokumentaci o různých možnostech vývoje pro Databricks.
- Stránka vývojářských nástrojů popisuje různé vývojové nástroje, které je možné použít k místnímu vývoji pro Databricks, včetně deklarativních balíčků automation a modulů plug-in pro prostředí IDE.
- Vývoj kódu v poznámkových blocích Databricks popisuje, jak vyvíjet v pracovním prostoru Databricks pomocí poznámkových bloků Databricks.
- Psaní dotazů a zkoumání dat v editoru SQL. Tento článek popisuje, jak pomocí editoru SQL Databricks pracovat s kódem SQL.
- Vývoj kanálů Lakeflow popisuje proces vývoje pro kanály Lakeflow.
- Databricks Connect umožňuje připojit se ke clusterům Databricks a spustit kód z místního prostředí.
- Naučte se používat Genie Code k rychlejšímu vývoji a řešení problémů s kódem.