问题
我正在尝试将序列化对象(使用 cPickle)保存到 Cassandra 1.2 列中,我使用的是 python cql library。我已经尝试将列定义为文本(utf8 字符串)和 blob,在这两种情况下我都收到相同的错误:
该对象是一个 Python 字典:
obj = {'id':'sometextid',
'time_created':05/12/2013, #<---- datetime
'some other string property': 'some other value'
}
错误是这样的:
raise cql.ProgrammingError("Bad Request: %s" % ire.why)
cql.apivalues.ProgrammingError: Bad Request: line 31:36 no viable alternative at character '\'
查看执行的 CQL 语句,我可以在腌制对象后看到一些 '\' 字符,例如:
腌制对象的一部分
cdatetime
datetime
p4
(S'\x07\xdd\x03\x1c\x000\x13\x05\xd0<'
tRp5
我的问题
使用 cql 库序列化 python dict(包括日期时间)以将其保存到 cassandra 1.2 中的常用方法是什么?有没有更好或更直接的方法来做到这一点?
提前致谢!