Itérer les lignes et les colonnes dans Spark dataframe

J'ai le texte suivant Étincelle dataframe qui est créé dynamiquement:

val sf1 = StructField("name", StringType, nullable = true)
val sf2 = StructField("sector", StringType, nullable = true)
val sf3 = StructField("age", IntegerType, nullable = true)

val fields = List(sf1,sf2,sf3)
val schema = StructType(fields)

val row1 = Row("Andy","aaa",20)
val row2 = Row("Berta","bbb",30)
val row3 = Row("Joe","ccc",40)

val data = Seq(row1,row2,row3)

val df = spark.createDataFrame(spark.sparkContext.parallelize(data), schema)

df.createOrReplaceTempView("people")
val sqlDF = spark.sql("SELECT * FROM people")

Maintenant, j'ai besoin de parcourir chaque ligne et colonne dans sqlDF pour imprimer chaque colonne, c'est ma tentative:

sqlDF.foreach { row =>
  row.foreach { col => println(col) }
}

row est de type Row, mais n'est pas itératif c'est pourquoi ce code génère une erreur de compilation dans row.foreach. Comment parcourir chaque colonne dans Row?

  • Pour l'impression dataframe pourquoi n'utilisez-vous pas sqlDF.spectacle?
  • println est juste pour la question, j'ai besoin d'accéder à des données de colonne dans le programme
  • Double Possible de Spark extraction des valeurs à partir d'une Ligne
  • Cette question est différente, il vous demande comment faire pour extraire des valeurs de colonnes, l'une de vous référer à l'est d'extraire les valeurs de Lignes
InformationsquelleAutor ps0604 | 2018-03-13