2016-06-01 8 views
0

Ich benutze so etwas, in eine Tabelle in Spark Cassandra einfügen. Wenn Sie sehen, dass alle Spalten fest codiert sind, gibt es eine gute Möglichkeit, sie dynamisch zu handhaben?dynamische Art der Darstellung in Spark Kassandra Strukturtyp

val logSchema = StructType(Array(StructField("tablename", StringType, true), StructField("filename", StringType, true), StructField("number_of_rows", StringType, true), StructField("loadtime", StringType, true), StructField("statusdetail", StringType, true))) 
+0

bitte Ihre Fragen bewertet Die meisten von ihnen wurden beantwortet und sie wurden nicht akzeptiert. – eliasah

Antwort

1

Sie können jederzeit über saveToCassandra legen Sie eine RDD von CassandraRow Objekte, die keine explizite Schema haben müssen.

So etwas wie

rdd : RDD[Map[String, Any]] 
rdd.map(row => CassandraRow.fromMap(row).saveToCassandra) 

http://datastax.github.io/spark-cassandra-connector/ApiDocs/1.6.0-M2/spark-cassandra-connector/#com.datastax.spark.connector.CassandraRow

+0

Ja, ich könnte das tun, aber es gibt ein Problem mit Spark Cassandra, dass ich nicht mehr als 22 Spalten verwenden kann. – ashK

+0

Das hat damit nichts zu tun, das ist eine Scala 2.10 Beschränkung auf Fallklassen. Sie sollten in der Lage sein, so viele Spalten wie Sie möchten mit 'fromMap' oder wenn Sie scala 2.11 verwenden – RussS

+0

Ja, aber ich habe eine Beschränkung, 2.10 zu verwenden, verwende ich azur-spark-scala-mesos – ashK

Verwandte Themen