Apache Spark, createDataFrame Beispiel in Java mit List<?> als erstes argument
Kann mir jemand ein Beispiel geben von java-Implementierung von
public DataFrame createDataFrame(java.util.List<?> data,java.lang.Class<?> beanClass)
Funktion, wie bereits in Spark JavaDoc?
Habe ich eine Liste von JSON-strings, die ich bin übergeben Sie als erstes argument und damit bin ich vorbei String.class
als das zweite argument, aber es gibt einen Fehler,
java.lang.ClassCastException: org.apache.spark.sql.types.StringType$ cannot be cast to org.apache.spark.sql.types.StructType
nicht sicher, warum, daher suchen für ein Beispiel.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist Ihre Verwendung von Bean-Klasse.
Vom JavaBeans-Wikipedia:
Um deutlicher zu sein, lassen Sie mich Ihnen ein Beispiel mit Java-Bean-Zündkerzen:
Nehmen wir an, wir verwenden diese Bean-Klasse:
Wir haben
b0
undb1
sind Instanzen der Bean:Wir haben auch Hinzugefügt, Bohnen(
b0
,b1
hier) in eineList<Bean>
genanntdata
:Nun erstellen wir ein
DataFrame
mitList<Bean>
undBean
Klasse:Wenn wir
df.show()
, hier ist die Ausgabe:DER BESSERE WEG, UM DATAFRAME ERSTELLEN VON JSON-STRING
Zündkerzen könnte man direkt erstellen
DataFrame
aus einer Liste von JSON-Strings:wo
jsc
ist eine Instanz vonJavaSparkContext
.Ich lade Sie zum anschauen der spark-source-code, wo es viele Beispiele, vor allem in den unit-tests finden Sie alle Referenzen der
createDataFrame
in java hier.