2015-08-20 28 views
10

Ho un pacchetto .egg creato localmente che dipende da boto==2.38.0. Ho utilizzato setuptools per creare la distribuzione di build. Tutto funziona nel mio ambiente locale, poiché recupera correttamente boto da PiP. Tuttavia su databricks non recupera automaticamente le dipendenze quando allego una libreria al cluster.Databricks (Spark): le dipendenze .egg non vengono installate automaticamente?

Ho davvero faticato ora per alcuni giorni cercando di installare una dipendenza automaticamente quando caricato su databricks, io uso setuptools;'install_requires=['boto==2.38.0']' è il campo pertinente.

Quando installo boto direttamente dal PyPi sul server databricks (quindi non fare affidamento sul campo install_requires per funzionare correttamente) e quindi chiamare il mio .egg, si riconosce che boto è un pacchetto, ma non riconosce nessuna delle i suoi moduli (dal momento che non è importato nel mio spazio dei nomi di .egg ???). Quindi non riesco a far funzionare il mio .egg. Se questo problema persiste senza soluzioni, penso che sia un grosso problema per gli utenti di databricks al momento. Ci dovrebbe essere una soluzione, naturalmente ...

Grazie!

+0

Porro, hai mai trovato una soluzione? – ramhiser

+0

@ JohnA.Ramey Non ce l'ho, ma non ho più lavorato a questo problema. Ricordo che il team dei databricks mi ha detto che sono in procinto di risolverlo. Presumo che tu stia attualmente riscontrando gli stessi problemi? Mi dispiace saperlo. Fammi sapere quando hai trovato una soluzione tu stesso :) –

+0

qualche progresso su questo problema? –

risposta

0

Le dipendenze dell'applicazione, in generale, non funzionano correttamente se sono diverse e non hanno un supporto di lingua uniforme. Il Databrick docs spiegano che

Databricks installeranno la versione corretta se la libreria supporta sia Python 2 e 3. Se la libreria non supporta Python 3 allora attaccamento biblioteca avrà esito negativo con un errore.

In questo caso non recupera automaticamente le dipendenze quando si collega una libreria al cluster.