Ajouter une colonne à la Trame de Données dans Apache Spark 1.3

Est-il possible et ce qui serait le plus efficace soigné méthode pour ajouter une colonne à la Trame de Données?

Plus précisément, la colonne peut servir comme Id de Ligne pour que la Trame de Données.

Dans un cas simplifié, de la lecture du fichier et non pas à la segmentation, je peux penser à quelque chose comme ci-dessous (en Scala), mais elle les complète avec des erreurs (à la ligne 3), et de toute façon n'a pas l'air comme le meilleur itinéraire possible:

var dataDF = sc.textFile("path/file").toDF() 
val rowDF = sc.parallelize(1 to DataDF.count().toInt).toDF("ID") 
dataDF = dataDF.withColumn("ID", rowDF("ID")) 
  • Avez-vous trouvé une solution?
  • Quelles sont les erreurs? Cela semble être la bonne méthode dans l'API.
  • withColumn est censé fonctionner avec la même dataframe - dire que vous pouvez faire quelque chose comme dataDF = dataDF.withColumn("ID", dataDF("ID").map(...)) avec la colonne de this dataframe seulement, pas avec d'autres
  • ah. hein. ce serait bien si cette restriction ont été documentés. Problème intéressant ensuite. le seul mécanisme que je peux voir à partir de l'API, autrement, serait d'utiliser un join. Pas un mauvais candidat à suggérer pour une amélioration de l'API.
  • à droite, c'est l'un des principaux funcitonalities pour n'importe quel bloc de données. Par exemple, ils ont des fonctionnalités intégrées pour mettre à jour le schéma de Parquet fichiers. Évidemment, c'est très cher fonctionnement dans un environnement distribué, mais de toute façon de l'OMI, il devrait être là
  • Avez-vous essayé d'utiliser un UDF? (quelque chose comme sqlContext.udf().register("...