ich eine cassandra Tabelle mit einem Feld vom Typ Text namens Snapshot enthält JSON-Objekte habe:Spark-JSON Textfeld RDD
[identifier, timestamp, snapshot]
verstand ich, dass in der Lage sein, Transformationen mit Funken auf diesem Gebiet zu tun, Ich muss dieses Feld dieser RDD in eine andere RDD konvertieren, um Transformationen im JSON-Schema vorzunehmen.
Ist das korrekt? Wie soll ich dazu vorgehen?
Edit: Vorerst gelang es mir, eine RDD von einem einzelnen Textfeld zu erstellen:
val conf = new SparkConf().setAppName("signal-aggregation")
val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc)
val snapshots = sc.cassandraTable[(String, String, String)]("listener", "snapshots")
val first = snapshots.first()
val firstJson = sqlContext.jsonRDD(sc.parallelize(Seq(first._3)))
firstJson.printSchema()
die mir das JSON Schema zeigt. Gut!
Wie gehe ich fort, um Spark mitzuteilen, dass dieses Schema auf alle Zeilen der Tabelle Snapshots angewendet werden soll, um eine RDD für dieses Snapshot-Feld aus jeder Zeile zu erhalten?
Wenn ich mich richtig passieren verstehen, Sie haben mehrere JSON-Objekte in jedem Feld in der Cassandra-Tabelle, und Sie müssen jedes Objekt unabhängig berechnen. –
Ja, Sie haben recht, aber ich habe irgendwo gelesen, dass Spark dieses Textfeld als JSON verstehen kann und dass ich Transformationen an einigen Werten dieser JSons durchführen kann, ist das korrekt? – galex