Sono nuovo ad Apache Spark e so che la struttura dei dati di base è RDD. Ora sto scrivendo alcune app che richiedono informazioni posizionali sugli elementi. Ad esempio, dopo aver convertito un ArrayList in un RDD (Java), per ogni intero in RDD, ho bisogno di conoscere il suo indice (globale). È possibile farlo?Come posso ottenere una posizione dell'elemento nell'RDD di Spark?
Come noto, c'è una funzione take (int) per RDD, quindi credo che le informazioni sulla posizione siano ancora mantenute in RDD.
Sì, aggiungere l'indice di matrice come attributo aggiuntivo prima di creare RDD può risolvere questo problema. Tuttavia, ci sono due limitazioni serie: 1) Ovviamente, questo attributo indice aggiuntivo raddoppia almeno il costo di archiviazione, e tale costo può essere anche più, ad esempio, in un array intero/mobile, per l'indice viene aggiunto un campo int lungo. 2) Poiché non è possibile caricare ulteriori valori di indice in Spark, tale conversione dei dati non può essere parallelizzata da Spark. Quindi, devo coinvolgere altre tecniche parallele per aggiungere l'indice. – SciPioneer