- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过 python 将 UDT(用户定义类型)插入 Cassandra。
对象是
'dob':{'d': 1,'m': 1,'y': 2000}
我把这个对象转换成了UDT。
dob = udt_date(arg0, arg1, arg2)
class udt_date(object):
def __init__(self, d, m, y):
self.d = d
self.m = m
self.y = y
从上面的代码中我得到了 dob 的类对象 as
<connector_cassandra_processing.crud.udts_registration.udt_date object at 0x7f0c20461650>
现在我尝试使用以下查询将上述 UDT 插入到 cassandra
INSERT INTO error_input_log_profile_mobile(mobile,ctdon,dob) VALUES (%s,%s,%s) ['111111342', 1234, <connector_cassandra_processing.crud.udts_registration.udt_date object at 0x7f0c20461650>]
但是我在插入时出现了以下错误。
Traceback (most recent call last):
File "/home/sys1010/PycharmProjects/test_connector_cassandra_processing/connector_cassandra_processing/dao/dao.py", line 23, in execute_query
result = session.execute(query, params, timeout=2000)
File "cassandra/cluster.py", line 2012, in cassandra.cluster.Session.execute (cassandra/cluster.c:35058)
return self.execute_async(query, parameters, trace, custom_payload, timeout, execution_profile, paging_state).result()
File "cassandra/cluster.py", line 3801, in cassandra.cluster.ResponseFuture.result (cassandra/cluster.c:73464)
raise self._final_exception
SyntaxException: <Error from server: code=2000 [Syntax error in CQL query] message="line 1:87 no viable alternative at input '<' (...dob) VALUES ('111111342',1234,[<]...)">
我到处尝试解决这个问题,但没有找到任何解决方案。有人请帮帮我。
表的架构
CREATE TABLE input_data_profile.error_input_log_profile_mobile (
mobile text PRIMARY KEY,
addrs set<frozen<udt_addrs>>,
asset set<frozen<udt_asset>>,
cid int,
cntno set<frozen<udt_cntno>>,
ctdat bigint,
ctdon bigint,
dob frozen<udt_date>,
dvc set<frozen<udt_dvc>>,
eaka set<text>,
edmn text,
educ set<frozen<udt_educ>>,
error_status tinyint,
gen tinyint,
hobby set<text>,
income set<frozen<udt_income>>,
interest set<text>,
lang set<frozen<udt_lang>>,
levnt set<frozen<udt_levnt>>,
like map<text, frozen<set<text>>>,
loc set<frozen<udt_loc>>,
mapp set<text>,
name frozen<udt_name>,
params map<text, frozen<set<text>>>,
prfsn set<frozen<udt_prfsn>>,
rel set<frozen<udt_rel>>,
rel_s tinyint,
skills_prfsn set<frozen<udt_skill_prfsn>>,
snw set<frozen<udt_snw>>,
sport set<text>
);
CREATE CUSTOM INDEX err_idx ON input_data_profile.error_input_log_profile_mobile (error_status) USING 'org.apache.cassandra.index.sasi.SASIIndex' WITH OPTIONS = {'mode': 'CONTAINS', 'analyzer_class': 'org.apache.cassandra.index.sasi.analyzer.NonTokenizingAnalyzer', 'case_sensitive': 'false'};
最佳答案
如果你想将一个对象存储到你的数据库中!您必须覆盖 __repr__
和 __str__
方法。像这样的东西:
class udt_date(object):
def __init__(self, d, m, y):
self.d = d
self.m = m
self.y = y
def __repr__(self):
return "d:{} m:{} y:{}".format(self.d, self.m, self.y)
然后您可以通过以下方式轻松地将其插入到您的数据库中:
my_date = udt_date(12,13, 14)
INSERT INTO error_input_log_profile_mobile(mobile,ctdon,dob) VALUES (%s,%s,%s) ['111111342', 1234, my_date]
关于python - 在 python 中插入 Cassandra 时没有可行的输入异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48424220/
对于我的一个项目,我终于需要使用我的第一个多态类(std::cout 除外)。 我正在研究如何确保至少在某些情况下我有 100% 的去虚拟化调用。 这段代码是否合法可行? dynamic_cast 有
最近有一个编译问题,用这个片段说明: struct Base { }; template struct A : Base { A(){} A(Base&&) {} }; A foo()
注意:这是一个冗长的问题,需要对 MVVM“设计模式”、JSON 和 jQuery 有很好的理解.... 所以我有一个理论/主张 DHTML 中的 MVVM 是可能的 和可行的 并且想知道您是否同意/
我有一台 Mac 服务器,我正在构建 PHP 代码以允许用户上传图像、文档甚至视频文件。研究这个肯定让我很紧张,我希望上传的内容没有病毒。 自己构建一些东西会是一个巨大的挑战吗?您会这样做,还是会
根据文档,ASP.NET 项目(尚)不支持新的 PackageReference https://learn.microsoft.com/en-us/nuget/consume-packages/pa
我是一名优秀的程序员,十分优秀!