[Python] Python e cluster di raspberry

Valerio Maggio valerio.maggio a gmail.com
Dom 6 Dic 2015 12:43:28 CET


> Fundor333 wrote:
> 
> Nella mia università (università Ca' Foscari di Venezia), nel corso di laurea di informatica è stata fatta una conferenza con Apostolos N. Papadopoulos (Aristotle University of Thessaloniki) che ha presentato Apache Spark. E' stato mostrato come creare programmi per sistemi distribuiti in cui si dividono il carico di lavoro su un db comune. 
> 
> Il tutto è stato mostrato in scala ma la libreria è disponibile anche in python ma ha detto che è ancora "instabile" rispetto a quella java/scala.

Dunque, facciamo un po' di chiarezza: che cosa delle API di Python sarebbe "instabile"?
Non credo che il termine "instabile" sia il termine giusto, o per lo meno, non credo sia quello che intendi tu: non si tratta di instabilità, quanto più di non allineamento di feature a parità di API.
Al meglio della mia conoscenza, il maggiore investimento sulle API di Spark è stato fatto per Scala (del resto Spark è scritto in Scala e le API sono tutti dei wrapper per Scala, in fin dei conti).
Nella lista seguono, nell'ordine Java, Python, R.
In altre parole, il supporto per le cutting-edge features di Spark le troverai *sempre* in Scala e poi negli altri linguaggi in ordine più o meno "costantemente arbitrario" :)

Tutto qui: non si tratta di instabilità. La API rilasciate sono *naturalmente* stabili.
Un esempio di confronto tra Python e Scala.

Spark Streaming è stato introdotto in Python in una delle ultime release delle API (1.4.1, se non erro). Spark GraphX non è al momento supportato in Python (solo Scala e Java).

That's it.

Poi, se vogliamo parlare delle API di Machine Learning (MLib) e delle potenzialità in termini di "Estimators e Learning Methods", allora è un'altra storia… ma non mi pare che tu ne abbia fatto cenno.

> Vista la fiera dell'elettronica a Venezia il 19 e 20 dicembre, io e un altro mio compagno volevamo sperimentare delle cose sui sistemi distribuiti utilizzando raspberry (pensavamo quelli da 5 dollari) però in python.

Quindi, se capisco bene, vuoi mettere su un cluster di raspberry pi su cui far girare Spark?
Ripeto: deve sempre essere possibile eseguire la JVM, eh?! Non dimenticarlo.
Torno a dire: Spark è implementato in Scala. Tutto diventa Scala, alla fine della fiera.

> 
> Quindi, qualcuno ha avuto esperienze con questo Apache Spark? E' davvero instabile? Che alternative abbiamo in python?

Scala, ma non so se sia **davvero** un'alternativa.

> Vale la pena fare questo lavoro in Python o meglio un altro linguaggio?

Quale lavoro?! XD
In effetti su questo non sei stato molto chiaro. Come ha già detto qualcuno, meglio che decidi bene prima *cosa* fare e poi *come farlo*.

> 
> Grazie F333

HTH

> 
> PS:Vorremmo evitare C, C# e C++ perchè li troviamo "scomodi" per un progetto a "tempo perso" in quanto richiederebbero per noi tanto tempo per imparare come dio comanda il linguaggio

Su C#, niente da dire (nel senso che non reputo *fondamentale* conoscere il C#)
Ma intendi dire che sei uno studente di Informatica all'università e non conosci almeno uno tra C o C++?! O_o
Su questo, qualcosina da dire ce l'avrei, btw.

---
Valerio

-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20151206/36f251ce/attachment.html>


Maggiori informazioni sulla lista Python