Wpis z mikrobloga

#programowanie dla atencji: #programista15k

Koledzy i koleżanki,
Mam problem dotyczący #azure #databricks. Będzie dłuższy wpis.

Mam postawiony cluster na Azur Databricks, do którego chciałbym się łączyć i pracować z kodem/notebookami zdalnie z mojego laptopa przez IDE.

Tutaj pada pytanie czy jest jakikolwiek sposób na łączenie się z clustrem Databricks na Azurze NIE wykorzystując do tego Databricks Connect - nie chce go uzywać dlaczego nie chce go używać napisze poniżej.

Nie chce też pracować z notebookami działającym na portalu Azure w ramach Workspace'a Databricks. Mam masę problemów z pracą na tym w większej grupie. Na tym samym notebooku w jednym momencie może pracować tylko jeden developer a co wiecej w przypadku commita jest do repo kommitowany stan nie tylko aktualanego notebooka ale i pozostałych. Łatwo sobie wyobrazić jaki do rodzi bałagan w przypadku pracy kilku programistów na raz.

Dlatego chciałem wydzielić oddzielne lokalne środowiska z oddzielnym kodem (dla notebooków) dla każdego developera, a na Azure trzymać tylko głównego brancha.

Niestety w przyapdku próby konfiguracji oficjalnego connectora dla takich celów - Databricks Connect - napotykam masę problemów już na poziomie konfiguracji. Nie chce przejść nawet komenda: 'databricks-connect test'. Test startuje i zatrzymuje się (nie idzie dalej) po WARN widocznym poniżej:

(dbconnect) C:>databricks-connect test
* PySpark is installed at c:\users\miltad\appdata\local\continuum\anaconda3\envs\dbconnect\lib\site-packages\pyspark
* Checking java version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
* Testing scala command
19/05/31 08:14:26 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
19/05/31 08:14:34 WARN MetricsSystem: Using default name SparkStatusTracker for source because neither spark.metrics.namespace nor spark.app.id is set.

Jestem pewien co do tego, że podążając za oficjalną dokumentacją nie zrobiłem żadnego błędu do tego momentu. Zastanawia mnie więc co może być jeszcze źle.

Pomimo tego, że Databricks-connect nie przechodzi komendy 'test' to i tak mam możliwość zdalnego łączenia się z clustrem ale rodzi to masę problemów. Głównie z bardzo częstym błędem dot. java stackoverflow dla notebooków, które wykonywane bezpośrednio na portalu azure w ramach databricks wykonują sie bez najmniejszych problemów.

Pytania więc brzmią:
1. Czy jest możliwość innego łączenia się z poziomu IDE z azure-databricks?
2. Jeśli macie doświadczenie z pracą z notebookami z poziomu workspace'a databricks na azure to jak radzicie sobie z równoczesną pracą kilku developerów na raz na tym samym kodzie? (skoro natywna funkcja netbooków podlinkowania pod GIT'a nie działą najlepiej)
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach