主要内容

executecql

在Apache上执行CQL查询卡珊德拉数据库

描述

例子

结果= executecql (康涅狄格州查询返回执行Cassandra的结果®使用Cassandra数据库连接对Cassandra数据库进行CQL (Query Language)查询。的executecql函数将查询结果导入MATLAB®

例子

结果= executecql (康涅狄格州查询名称,值使用一个或多个名称-值参数指定选项。例如,“ConsistencyLevel”、“两个”设置一致性级别,以指定两个节点必须响应CQL查询才能执行。

例子

全部折叠

使用Apache™Cassandra®数据库c++接口,创建Cassandra®数据库连接并执行CQL查询,将数据从Cassandra数据库表导入MATLAB®。在本例中,Cassandra数据库包含employees_by_job数据库表中包含员工数据employeedata用于。

使用配置的数据源创建Cassandra数据库连接CassandraDataSource还有一个空白的用户名和密码。的apacheCassandra函数返回康涅狄格州作为一个连接对象。

数据源=“CassandraDataSource”;用户名="";密码="";conn = apacheCassandra(数据源,用户名,密码);

编写一个CQL查询,选择2006年4月30日之前雇用的所有程序员或店员,并检索他们的工作标识符、雇用日期和电子邮件地址。job_id的分区键是employees_by_job数据库表,和hire_date是集群列。

查询= strcat("SELECT job_id,hire_date,email "...“从employeedata。employees_by_job”..."WHERE job_id IN ('IT_PROG','SH_CLERK') "..."AND hire_date < '2006-04-30';");

执行CQL查询并显示结果的前几行。

结果= executecql(conn,query);(结果)
ans =8×3表job_id hire_date email __________ ___________ __________ "IT_PROG" 05- 2 -2006 "VPATABAL" IT_PROG" 03- 2006年1月"AHUNOLD" IT_PROG" 25- 2005年6月"DAUSTIN" "SH_CLERK" 24- 2006年4月"AWALSH" "SH_CLERK" 23- 2006年2月"JFLEAUR" "SH_CLERK" 24- 2006年1月"WTAYLOR" "SH_CLERK" 13- 2005年8月"JDILLY" "SH_CLERK" 14- 2005年6月"KCHUNG"

结果有桌子吗job_idhire_date,电子邮件变量。的hire_date变量是adatetime数组和job_id而且电子邮件变量是字符串数组。

关闭Cassandra数据库连接。

关上(康涅狄格州)

使用Apache™Cassandra®数据库c++接口,创建Cassandra数据库连接并执行CQL查询,将数据从Cassandra数据库表导入MATLAB®。指定返回查询结果的一致性级别。在本例中,Cassandra数据库包含employees_by_job数据库表中包含员工数据employeedata用于。

使用配置的数据源创建Cassandra数据库连接CassandraDataSource还有一个空白的用户名和密码。的apacheCassandra函数返回康涅狄格州作为一个连接对象。

数据源=“CassandraDataSource”;用户名="";密码="";conn = apacheCassandra(数据源,用户名,密码);

编写一个CQL查询,选择所有程序员雇员并检索他们的雇用日期和电子邮件地址。job_id的分区键是employees_by_job数据库表中。将返回的数据限制为3行。

查询= strcat(“SELECT hire_date,email”...“从employeedata。employees_by_job”..."WHERE job_id = 'IT_PROG'"...“限制3;”);

执行一致性级别设置为一个节点的CQL查询,并显示结果。

水平=“一”;结果= executecql(conn,query,“ConsistencyLevel”水平)
结果=3×2表hire_date邮件  ___________ __________ 21日- 2007年5月——“BERNST 07年2月- 2007年“DLORENTZ 05 - 2006年2月——“VPATABAL”

在这种情况下,只有一个副本节点响应返回的数据。结果有桌子吗hire_date而且电子邮件变量。的hire_date变量是adatetime数组和电子邮件Variable是一个字符串数组。

关闭Cassandra数据库连接。

关上(康涅狄格州)

输入参数

全部折叠

Apache Cassandra数据库连接,指定为连接对象。

CQL查询,指定为字符向量或字符串标量。有关CQL的详细信息,请参阅Apache软件基金会CQL参考文档

例子:SELECT * FROM dev.maps

数据类型:字符|字符串

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:results = executecql(conn,query,'ConsistencyLevel', ' TWO ', 'RequestTimeout',15)指定当两个节点响应CQL查询执行时返回查询结果,数据库必须等待15秒才能返回查询,然后抛出错误。

一致性级别,指定为这些值之一。

一致性级别值 一致性级别说明

“所有”

当所有副本节点都响应(读操作)或提交更改(写操作)时返回查询结果。

“EACH_QUORUM”

当每个数据中心中的大多数副本节点提交更改(仅写操作)时完成执行。

“群体”

当大多数副本节点响应(读操作)或提交更改(写操作)时返回查询结果。

“LOCAL_QUORUM”

当本地数据中心的大多数副本节点响应(读操作)或提交更改(写操作)时返回查询结果。

“一”(默认)

当一个副本节点响应(读操作)或提交更改(写操作)时返回查询结果。

“两个”

当两个副本节点响应(读操作)或提交更改(写操作)时返回查询结果。

“三”

当三个副本节点响应(读操作)或提交更改(写操作)时返回查询结果。

“LOCAL_ONE”

当本地数据中心的一个副本节点响应(读操作)或提交更改(写操作)时返回查询结果。

“任何”

即使指定分区的所有副本节点都不可用,也要完成执行(仅限写操作)。

“串行”

返回任何数据中心副本节点的当前(可能未提交)数据的查询结果(仅限读取操作)。

“LOCAL_SERIAL”

返回本地数据中心副本节点的当前(可能未提交)数据的查询结果(仅读取操作)。

您可以将一致性级别的值指定为字符向量或字符串标量。

关于一致性级别的详细信息,请参见配置数据一致性

数据类型:字符|字符串

此属性是只读的。

请求超时,指定为正数值标量。请求超时表示数据库在抛出错误之前等待返回CQL查询的秒数。

数据类型:

输出参数

全部折叠

CQL查询结果,以表格形式返回。来自CQL查询结果的每个Cassandra数据库列都是表中的一个变量。变量名与CQL查询结果中的Cassandra数据库列的名称相匹配。

表中变量的数据类型取决于CQL数据类型。有关CQL数据类型如何转换为MATLAB数据类型的详细信息,请参见使用Apache Cassandra数据库c++接口转换CQL数据类型到MATLAB数据类型

对于不返回数据的读或写操作,使用executecql函数返回一个空表。

版本历史

R2021a中引入