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.
A Databricks támogatja a különböző programozási nyelvek használatát a fejlesztéshez és az adatfeldolgozáshoz. Ez a cikk ismerteti a rendelkezésre álló lehetőségeket, amelyekben ezek a nyelvek használhatók, valamint azok korlátait.
Ajánlások
A Databricks új projektekhez ajánlja a Pythont és az SQL-t:
- Python egy nagyon népszerű általános célú programozási nyelv. A PySpark DataFrame-ek megkönnyítik a tesztelhető, moduláris átalakításokat. A Python-ökoszisztéma a kódtárak széles körét is támogatja a megoldás kiterjesztéséhez.
-
SQL nagyon népszerű nyelv a relációs adathalmazok kezeléséhez és módosításához olyan műveletek végrehajtásával, mint az adatok lekérdezése, frissítése, beszúrása és törlése. Az SQL akkor jó választás, ha a háttér elsősorban adatbázisokban vagy adattárházakban található. Az SQL a Pythonba is beágyazható
spark.sqlhasználatával.
A következő nyelvek támogatottsága korlátozott, ezért a Databricks nem javasolja őket új adatmérnöki projektekhez:
- Scala az Apache Spark™ fejlesztéséhez használt nyelv.
- R csak a Databricks-jegyzetfüzetekben támogatott.
A nyelvi támogatás az adatfolyamok és egyéb megoldások készítéséhez használt funkcióktól függően változik. A Lakeflow-folyamatok például támogatják a Python és az SQL használatát, míg a munkafolyamatok lehetővé teszik adatfolyamok létrehozását Python, SQL, Scala és Java használatával.
Jegyzet
Más nyelvek is használhatók a Databricks használatával az adatok lekérdezéséhez vagy adatátalakításokhoz. Ezek az interakciók azonban elsősorban a külső rendszerekkel való integráció kontextusában vannak. Ezekben az esetekben a fejlesztők szinte bármilyen programozási nyelvet használhatnak a Databricks Databricks REST API-, ODBC/JDBC-illesztőprogramok, a Databricks SQL-összekötő támogatás ával (Go, Python, Javascript/Node.js), vagy olyan nyelvekre, amelyek Spark Connect- implementációkkal rendelkeznek, mint például a Go és a Rust.
Munkaterület-fejlesztés és helyi fejlesztés
Adatprojekteket és folyamatokat a Databricks-munkaterület vagy egy IDE (integrált fejlesztési környezet) használatával fejleszthet a helyi gépen, de ajánlott új projekteket elindítani a Databricks-munkaterületen. A munkaterület webböngészővel érhető el, egyszerű hozzáférést biztosít a Unity Catalog adataihoz, és támogatja az olyan hatékony hibakeresési képességeket és funkciókat, mint a Genie Code.
Kód fejlesztése a Databricks-munkaterületen a Databricks-jegyzetfüzetek vagy az SQL-szerkesztő használatával. A Databricks-jegyzetfüzetek több programozási nyelvet is támogatnak ugyanazon a jegyzetfüzeten belül, így a Python, az SQL és a Scala használatával fejleszthetők.
A kód közvetlenül a Databricks-munkaterületen történő fejlesztésének számos előnye van:
- A visszajelzési ciklus gyorsabb. Az írott kódot azonnal tesztelheti valós adatokon.
- A beépített, környezettudatos Genie Code felgyorsíthatja a fejlesztést, és segíthet a problémák megoldásában.
- A jegyzetfüzeteket és lekérdezéseket egyszerűen ütemezheti közvetlenül a Databricks-munkaterületről.
- A Python-fejlesztéshez megfelelően strukturálhatja a Python-kódot úgy, hogy a munkaterületen lévő fájlokat Python-csomagként használja.
Az IDE-ben azonban a helyi fejlesztés a következő előnyöket nyújtja:
- Az IDE-k jobb eszközökkel rendelkeznek a szoftverprojektekhez, mint például a navigáció, a kód újrastrukturálása és a statikus kódelemzés.
- Kiválaszthatja, hogyan szabályozhatja a forrást, és ha Gitet használ, a speciálisabb funkciók helyileg is elérhetők, mint a Git-mappákkal rendelkező munkaterületen.
- A támogatott nyelvek szélesebb köre áll rendelkezésre. Létrehozhat például kódot a Java használatával, és JAR-feladatként helyezheti üzembe.
- Korszerűbb támogatás érhető el a kódhibák kereséséhez.
- Az egységtesztek használata jobban támogatott.
Példa nyelvválasztásra
Az adatmérnöki nyelv kiválasztása a következő döntési fával történik:
Python-kód fejlesztése
A Python nyelv első osztályú támogatást nyújt a Databricksben. Használhatja Databricks notebookokban, Lakeflow-folyamatokban és -munkafolyamatokban, UDF-eket fejleszthet vele, valamint Python-szkriptként és wheel csomagként is telepítheti.
Ha Python-projekteket fejleszt a Databricks-munkaterületen, akár jegyzetfüzetekként, akár fájlokban, a Databricks olyan eszközöket biztosít, mint a kódkiegészítés, a navigáció, a szintaxis érvényesítése, a Genie Code használatával történő kódlétrehozás, az interaktív hibakeresés stb. A kifejlesztett kód végrehajtható interaktívan, Databricks-munkafolyamatként vagy Lakeflow-folyamatként, vagy akár a Unity Catalog függvényeként is. A kód strukturálásához feloszthatja különálló Python-csomagokra, amelyek ezután több folyamatban vagy feladatban is használhatók.
A Databricks bővítményt biztosít a Visual Studio Code számára, a JetBrains pedig egy beépülő modult kínál a PyCharm számára, amely lehetővé teszi Python-kód fejlesztését egy IDE-ben, kódot szinkronizálhat egy Databricks-munkaterületre, végrehajthatja azt a munkaterületen belül, és részletes hibakeresést végezhet Databricks Connecthasználatával. A kifejlesztett kód ezután a Deklaratív Automation-csomagok használatával telepíthető Databricks-feladatként vagy -folyamatként.
SQL-kód fejlesztése
Az SQL-nyelv a Databricks-jegyzetfüzetekben vagy Databricks-lekérdezésekként is használható az SQL-szerkesztő használatával. A fejlesztők mindkét esetben hozzáférhetnek az olyan eszközökhöz, mint a kódkiegészítés, valamint a környezettudatos Genie Code, amely kódgeneráláshoz és problémák megoldásához használható. A kifejlesztett kód üzembe helyezhető feladatként vagy folyamatként.
A Databricks-munkafolyamatok lehetővé teszik a fájlban tárolt SQL-kód végrehajtását is. Ide használatával létrehozhatja ezeket a fájlokat, és feltöltheti őket a munkaterületre. Az SQL másik népszerű használata az dbt (adatösszeépítési eszköz)használatával fejlesztett adatmérnöki folyamatokban. A Databricks-munkafolyamatok támogatják a dbt-projektek vezénylését.
Scala-kód fejlesztése
A Scala az Apache Spark™ eredeti nyelve. Ez egy hatékony nyelv, de meredek tanulási görbével rendelkezik. Bár a Scala támogatott nyelv a Databricks-jegyzetfüzetekben, a Scala-osztályok és -objektumok létrehozásának és karbantartásának néhány korlátozása megnehezítheti az összetett folyamatok fejlesztését. Az IDE-k általában jobb támogatást biztosítanak a Scala-kód fejlesztéséhez, amelyet aztán JAR-feladatokkal lehet üzembe helyezni a Databricks-munkafolyamatokban.
További erőforrások
- A Databricks fejlesztése egy kiindulópont a Databricks különböző fejlesztési lehetőségeivel kapcsolatos dokumentációkhoz.
- A fejlesztői eszközök lapja a Databricks helyi fejlesztéséhez használható különböző fejlesztési eszközöket ismerteti, beleértve a deklaratív automatizálási csomagokat és az ide-k beépülő moduljait.
- A Databricks-jegyzetfüzetek kódjának fejlesztése azt ismerteti, hogyan fejleszthet a Databricks-munkaterületen Databricks-jegyzetfüzetek használatával.
- Lekérdezések írása és adatok feltárása az SQL-szerkesztőben. Ez a cikk azt ismerteti, hogyan használható a Databricks SQL-szerkesztő az SQL-kód használatára.
- A Lakeflow-folyamatok fejlesztése a Lakeflow-folyamatok fejlesztési folyamatát ismerteti.
- Databricks Connect lehetővé teszi a Databricks-fürtökhöz való csatlakozást és kód futtatását a helyi környezetből.
- Megtudhatja, hogyan használhatja a Genie Code-ot a gyorsabb fejlesztéshez és a kódproblémák megoldásához.