- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
简介
我在 Cassandra 1.2 列族上有一个 blob 列,该表定义如下:
CREATE TABLE objects (
id text,
obj blob,
PRIMARY KEY (id)
);
问题:
问题是当我需要使用 cql 库从 Python 插入/更新 blob 列时,我需要像这样对列的内容进行 16 进制编码:
import cPickle
import cql
...
def save_object(connection, obj):
object['id'] = obj['id']
object['obj'] = cPickle.dumps(obj).encode("hex")
cql_statement = "INSERT INTO objects (id, obj) values (:id, :obj)"
cursor = connection.cursor()
cursor.execute(cql_statement, object)
问题:
有没有一种方法可以在不使用对象的 base 16 编码(字符串)的情况下执行此查询?这样做的原因是为了减少通过线路发送 base 16 编码字符串而不是普通字节的开销。
提前致谢!
最佳答案
Base64 还是十六进制?
如果您的问题不是编码成 base64,是的,您可以,但是您必须以 HEX 格式将数据提供到 CQL。
如果您的问题不是转换为十六进制,不,这是不可能的。
如 CQL documentation 中定义的 blob
A blob constant is an hexadecimal number defined by 0xX+ where hex is an hexadecimal character, e.g. [0-9a-fA-F]. For example, 0xcafe.
所以这显然意味着您需要以 HEX 格式发送数据。
关于python - Cassandra 1.2 使用 Python 和 cql 库插入/更新 blob 列类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16780251/
我想找到所有可以显式返回 null 的方法。 在 NDepend 中使用 CQL 这可能吗? 最佳答案 目前还不行,CQL 到目前为止还不知道变量、字段和返回值的值。 但是,建议使用以下默认规则。这个
在 CQL 脚本中使用时,有没有办法在 CQL 命令中传递变量,例如: select * from "Column Family Name" where "ColumnName"='A variabl
我遇到的问题是我想运行以下命令(但我不能): cqlsh < cql_directory/cql_create_stuff.cql 因为我还没有登录cqlsh。 所以我登录了: cqlsh -u 'm
我将内容存储在 CQL 的 map 中,我希望允许使用键删除该 map 中的特定内容。 key 是通过API从上面传入的,所以客户端可以传入任何它想要的东西。这是解释我的情况的代码片段...... f
我对 cassandra 很陌生,所以这听起来像是一个新手问题。 我正在运行 cqlsh 5.0.1 |本地的 Cassandra 2.1.4。 我有一张如下表: CREATE TABLE maste
CREATE TABLE users ( userID uuid, firstname text, lastname text, state text, zip int, age int, PRIMA
Cassandra的decimal数据类型对应的solr类型是什么? CREATE TABLE demo_table ( cost decimal ) solr对应的数据类型应该是什么? 最佳答案
我有一个像 创建表文件(id 文本主键、fname 文本、mimetype 文本、isdir bool 值、位置文本); 在文件(位置)上创建索引 file_location; 以下是表中的内容: 插
我有一个表,有一列 list类型(标签): CREATE TABLE "Videos" ( video_id UUID, title VARCHAR, tags LIST,
我有一个主键定义的列族,如下所示: ... PRIMARY KEY ((website_id, item_id), user_id, date) 将使用以下查询进行查询: SELECT * FROM
如何使用 Cassandra CQL 查询检查非主键字段的值是“A”还是“B”? (我使用的是 Cassandra 2.0.1) 这是表定义: CREATE TABLE my_table ( my
如果行键'row1'不存在,有什么方法可以防止CQL命令更新创建新行? UPDATE columnfamily SET data = 'test data' WHERE key = 'row1'; 最
我需要检查 Cassandra 数据库中是否存在某些键空间。我需要这样写: if (keyspace KEYSPACE_NAME not exists) create keyspace KEYSPAC
嗨,有什么办法可以在 Cassandra 中使用 CQL 使用 != 运算符吗? 我正在尝试在我的 columnfamily 上使用 != 运算符,但是当我尝试使用它时,它说: cqlsh:EPCCo
我有这张 table create table constants_values ( key_name_1 text,
我目前正在尝试将一个项目从 Cassandra 的 Thrift 界面(我越来越喜欢它)迁移到 CQL。我有以下困扰我的“问题”。我创建一个事件表: CREATE TABLE events ( e
如果我使用 cql 定义这样的表: CREATE TABLE scores ( name text, age int, score int, date timestamp, PRIMARY
如何在cassandra中编写子查询/嵌套查询。 CQL是否提供此功能? 我试过的示例: cqlsh:testdb> select itemname from item where itemid =
对于以下 Cassandra 架构: CREATE TABLE periods ( period_name text, event_name text, event_date timestamp, w
我可能想使用erlacassa Cassandra之间进行通信和 Eralng 。它是一个 CQL 客户端。所以我想知道,与thrift访问的cassandra相比,CQL(cassandra查询语言
我是一名优秀的程序员,十分优秀!