JeApache Spark - Sélection des champs non modifiés d'une rangée dans dataframe
org.apache.spark.sql.DataFrame = [ts: string, name: string, value: string ]
et je suis en train de faire
val result = df.map {case Row(ts, name, value) => (name+":"+value+"-ctag", ts)}
champ essentiellement 2ème le résultat est non modifié. Cependant, je reçois cette erreur:
java.lang.ClassNotFoundException: scala.Any
at scala.reflect.internal.util.AbstractFileClassLoader.findClass(AbstractFileClassLoader.scala:62)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at scala.reflect.runtime.JavaMirrors$JavaMirror.javaClass(JavaMirrors.scala:555)
at scala.reflect.runtime.JavaMirrors$JavaMirror$$anonfun$classToJava$1.apply(JavaMirrors.scala:1211)
at scala.reflect.runtime.JavaMirrors$JavaMirror$$anonfun$classToJava$1.apply(JavaMirrors.scala:1203)
at scala.reflect.runtime.TwoWayCaches$TwoWayCache$$anonfun$toJava$1.apply(TwoWayCaches.scala:49)
Si je ne sélectionne pas le 2ème champ tel qu'il est, mais applique une transformation comme ci-dessous
val result = df.map {case Row(ts, name, value) => (name+":"+value+"-ctag", ts+"test")}
cela fonctionne sans aucun problème.
Pouvez-vous expliquer ce que cette erreur dit? Je voudrais appliquer la transformation sur certains champs et pas sur d'autres domaines.
parfait, cela a fonctionné !! Merci beaucoup. –