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í. Například deklarativní kanály Sparku pro Lakeflow podporují Python a SQL, zatímco pracovní postupy umožňují vytvářet datové kanály pomocí Pythonu, SQL, Scaly a Javy.
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 Databricks Assistant.
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ý pomocník Databricks s podporou kontextu může urychlit vývoj a pomoct s řešením problémů.
- 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 ho použít v poznámkových blocích Databricks, v Lakeflow Spark deklarativních pipelines a pracovních postupech, k vývoji UDFs a také ho nasazovat jako skript v Pythonu a jako wheel soubory.
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í Databricks Assistantu, interaktivní ladění a další. Vyvinutý kód lze spouštět interaktivně, nasadit jako pracovní postup Databricks, jako deklarativní kanály Spark 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 s využitím Databricks Asset Bundles nasadit jako úlohu nebo pipeline 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 pomocníku Databricks Assistant s podporou kontextu, který je možné použít ke generování kódu a ř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ší kroky
- 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é nástroje pro vývoj, které lze použít k místnímu vývoji pro Databricks, včetně sad prostředků Databricks a pluginů pro 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 deklarativních kanálů Sparku Lakeflow popisuje proces vývoje pro deklarativní kanály Sparku 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 Databricks Assistant pro rychlejší vývoj a řešení problémů s kódem.