[SCALA] Iterare attraverso un tipo aggregato <iterable>

di il
2 risposte

[SCALA] Iterare attraverso un tipo aggregato <iterable>

Buonasera a tutti,

Programmando in scala, su framework Spark, ho un RDD di questo tipo:

org.apache.spark.rdd.RDD[(String, Iterable[(Int, Double, Double, Double, Double, Int, String, String)])]

In pratica è una tupla <chiave,valore>, dove la chiave è una stringa normale, mentre il <valore> è, a sua volta, un dato di tipo "iterable", composto da un aggregato di diversi tipi.

Il mio scopo è provare a scorrere tutti gli elementi che compongono l'"Iterable". Come fare? Non mi è chiare come fare la scansione, nel senso che non sò come accedere a quell'elemento, ne come scegliere quale tra tutti i vari parametri posso usare per fare la scansione.

Qualcuno che ha un pò di familiarita con scala, mi sa dare una mano?

Grazie mille

2 Risposte

  • Re: [SCALA] Iterare attraverso un tipo aggregato <iterable>

    1) Brutti gli RDD: sono ormai vecchi, obsoleti, non piu' supportati, moribondi, con due piedi nella fossa ...

    Si usano i DataFrame!

    2) un RDD .. NON E' FATTO per essere iterato. NON LO SI DEVE FARE!
    E NON HA SENSO farlo perche' un RDD potrebbe essere suddiviso in 100 pezzi ogn'uno che gira su un nodo DIVERSO di un cluster!!

    Hai voglia, tu, ad iterare una cosa del genere!

    Stai lavorando con BIG DATA (EXABYTE di dati!!), non con la ciottola del latte del gatto

    E questo INDIPENDENTEMENTE dal fatto che il tuo file sia di 100 righe!

    Il sistema DEVE funzionare allo stesso modo SIA con 100 righe che con 100.000.000.000 (100 MILIARDI) di righe!!!!
  • Re: [SCALA] Iterare attraverso un tipo aggregato <iterable>

    Io ti ringrazio per le tue considerazioni, ma resto nella stessa posizione.

    A me non interessano i Data Frame. Devo usare RDD, e nell'attuale versione sia di Spark (3.0-preview) che di scala (2.10), sono perfettamente integrati.

    Che siano 100 kB o 100 Exabyte, a me interessa impadronirmi della tecnica, è su questo che avevo fatto la domanda.
Devi accedere o registrarti per scrivere nel forum
2 risposte