2015-12-10 7 views
34

Sto utilizzando la funzione randomSplit per ottenere una piccola quantità di un dataframe da utilizzare negli scopi di sviluppo e alla fine prendo solo il primo file df restituito da questa funzione.C'è un modo per prendere le prime 1000 righe di Spark Dataframe?

val df_subset = data.randomSplit(Array(0.00000001, 0.01), seed = 12345)(0) 

Se uso df.take(1000) poi io alla fine con una serie di rows- non un dataframe, in modo che non funziona per me.

Esiste un modo migliore e più semplice per pronunciare le prime 1000 righe del file df e memorizzarlo come un altro file?

risposta

73

Il metodo che stai cercando è .limit.

Restituisce un nuovo DataFrame prendendo le prime n righe. La differenza tra questa funzione e la testa è che la testa restituisce una matrice mentre il limite restituisce un nuovo DataFrame.

+2

Solo per la cronologia, ho usato .limit e ha restituito un set di dati anziché DataFrame (che non era un problema) – hipoglucido

+1

Grazie per l'aggiornamento. Sembra che Spark 2.X sia cambiato parecchio :) – Markon

Problemi correlati