Conversión de RDD a La LabelPoint

Si tengo un RDD con aproximadamente 500 columnas y 200 millones de filas, yRDD.columns.indexOf("target", 0) muestraInt = 77 que me dice que mi variable dependiente objetivo está en la columna número 77. Pero no tengo suficiente conocimiento sobre cómo seleccionar columnas deseadas (parciales) como características (digamos que quiero columnas del 23 al 59, del 111 al 357, del 399 al 489) . Me pregunto si puedo aplicar tal:

val data = rdd.map(col => new LabeledPoint(
    col(77).toDouble, Vectors.dense(??.map(x => x.toDouble).toArray))

Cualquier sugerencia u orientación será muy apreciada.

Tal vez estropeé RDD con DataFrame, puedo convertir el RDD a DataFrame con.toDF() o es más fácil lograr el objetivo con DataFrame que RDD.

Respuestas a la pregunta(1)

Su respuesta a la pregunta