Insérer à cassandra de python en utilisant le cql
Je suis la planification d'insérer des données à soufflet FC qui a les clés composées.
CREATE TABLE event_attend (
event_id int,
event_type varchar,
event_user_id int,
PRIMARY KEY (event_id, event_type) #compound keys...
);
Mais je ne peux pas insérer les données dans ce FC à partir de python en utilisant le cql.
(http://code.google.com/a/apache-extras.org/p/cassandra-dbapi2/)
import cql
connection = cql.connect(host, port, keyspace)
cursor = connection.cursor()
cursor.execute("INSERT INTO event_attend (event_id, event_type, event_user_id) VALUES (1, 'test', 2)", dict({}) )
J'ai le traceback:
Traceback (most recent call last):
File "./v2_initial.py", line 153, in <module>
db2cass.execute()
File "./v2_initial.py", line 134, in execute
cscursor.execute("insert into event_attend (event_id, event_type, event_user_id ) values (1, 'test', 2)", dict({}))
File "/usr/local/pythonbrew/pythons/Python-2.7.2/lib/python2.7/site-packages/cql-1.4.0-py2.7.egg/cql/cursor.py", line 80, in execute
response = self.get_response(prepared_q, cl)
File "/usr/local/pythonbrew/pythons/Python-2.7.2/lib/python2.7/site-packages/cql-1.4.0-py2.7.egg/cql/thrifteries.py", line 80, in get_response
return self.handle_cql_execution_errors(doquery, compressed_q, compress)
File "/usr/local/pythonbrew/pythons/Python-2.7.2/lib/python2.7/site-packages/cql-1.4.0-py2.7.egg/cql/thrifteries.py", line 98, in handle_cql_execution_errors
raise cql.ProgrammingError("Bad Request: %s" % ire.why)
cql.apivalues.ProgrammingError: Bad Request: unable to make int from 'event_user_id'
Ce que je fais mal?
OriginalL'auteur tuelabel | 2012-11-04
Vous devez vous connecter pour publier un commentaire.
Il semble que vous essayez de suivre l'exemple de:
http://pypi.python.org/pypi/cql/1.4.0
Toutefois, si vous avez seulement besoin d'insérer une ligne (comme dans votre question), il suffit de déposer le vide dict() parameter.
Aussi, puisque vous êtes en utilisant des clés composites, assurez-vous d'utiliser CQL3
http://www.datastax.com/dev/blog/whats-new-in-cql-3-0
Le code suivant devrait fonctionner (juste l'adapter à localhost si nécessaire):
est-il un moyen d'importer les données en utilisant le même?
OriginalL'auteur
Pour python 2.7, 3.3, 3.4, 3.5 et 3.6 pour l'installation, vous pouvez utiliser
Et en python:
Documentation peut être trouvée sous https://datastax.github.io/python-driver/getting_started.html#passing-parameters-to-cql-queries
OriginalL'auteur