問題
シリアル化されたオブジェクト (cPickle を使用) を Cassandra 1.2 列に保存しようとしています。Python cql ライブラリを使用しています。列をテキスト (utf8 文字列) と blob として定義しようとしましたが、どちらの場合も同じエラーが発生します。
オブジェクトは Python dict です。
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に保存する通常の方法は何ですか? これを行うためのより良い、またはより簡単な方法はありますか?
前もって感謝します!