Ich verwende derzeit den Cassandra-Ruby-Treiber, um Daten aus einer JSON-Datei in eine vorhandene Tabelle in meiner Datenbank einzufügen.Einfügen von JSON-Datei in Cassandra-Tabelle
die JSON-Datei sieht wie folgt aus:
[
{
"id": "123",
"destination": "234",
"type": "equipment",
"support": "type 1",
"test": "test1"
},
{
"id": "234",
"destination": "123",
"type": "equipment",
"support": "type 1",
"test": "test1"
}
]
ich in der Datei wie folgt lese:
file = File.read('itemType.json')
data_hash = JSON.parse(file) #return an array of hashes
Iterate durch das Array und bekommen jede Hash- und jede Hash auf den Tisch legen
data_hash.each do |has|
#check the type of each object
#puts has.class #return hash
insert_statement = session.prepare('INSERT INTO keyspace.table JSON ?')
session.execute(insert_statement, [has]) #error occurs here
end
Nach Ausführen dieses Codes bekomme ich diese Fehlermeldung
Ich habe überprüft, dass jedes Objekt, das in die Tabelle eingefügt wird, ein Hash ist, also bin ich nicht sicher, warum ich dieses Problem bekomme.
selbst wenn ich jedes Objekt in JSON mit '.to_json' Methode konvertieren, bekomme ich immer noch den gleichen Fehler – danynl
Sind' keyplace.table' der richtige Schlüsselraumname und Tabellenname? – NiVeR
ja, alles ist korrekt, da ich von ihnen abfragen kann. – danynl