J'utilise actuellement le pilote Cassandra-Ruby pour insérer des données d'un fichier JSON dans une table existante de ma base de données.Insérer un fichier json dans la table Cassandra
le fichier JSON ressemble à ceci:
[
{
"id": "123",
"destination": "234",
"type": "equipment",
"support": "type 1",
"test": "test1"
},
{
"id": "234",
"destination": "123",
"type": "equipment",
"support": "type 1",
"test": "test1"
}
]
Je lis dans le dossier comme celui-ci:
file = File.read('itemType.json')
data_hash = JSON.parse(file) #return an array of hashes
Itérer à travers le réseau et obtenir chaque hachage et insérer chaque hachage sur la table
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
Après l'exécution de ce code, je reçois ce message d'erreurJ'ai vérifié que chaque objet étant inséré dans la table est un hachage, donc je ne suis pas sûr pourquoi je reçois ce problème.
même si je convertis chaque objet en JSON en utilisant la méthode '.to_json', je reçois toujours la même erreur – danynl
Est-ce que' keyspace.table' est le bon nom d'espace-clé et le bon nom de table? – NiVeR
oui, tout est correct puisque je peux interroger d'eux. – danynl