executecql

Выполните запрос CQL на Apache база данных Кассандры

Описание

пример

results = executecql(conn,query) возвращает результаты казни Кассандры® Язык запросов (CQL) запрашивает на базе данных Кассандры с помощью соединения с базой данных Кассандры. executecql функционируйте импортирует результаты запроса в MATLAB®.

пример

results = executecql(conn,query,Name,Value) задает опции с помощью одних или нескольких аргументов name-value. Например, 'ConsistencyLevel',"TWO" устанавливает уровень непротиворечивости указывать, что два узла должны ответить для запроса CQL, чтобы выполниться.

Примеры

свернуть все

Используя базу данных Apache Cassandra® интерфейс C++, создайте соединение с базой данных Cassandra® и выполните запрос CQL, чтобы импортировать данные от таблицы базы данных Кассандры в MATLAB®. В этом случае база данных Кассандры содержит employees_by_job таблица базы данных с данными сотрудника в employeedata ключевое пространство.

Создайте соединение с базой данных Кассандры с помощью сконфигурированного источника данных CassandraDataSource и пустое имя пользователя и пароль. apacheCassandra функция возвращает conn как connection объект.

datasource = "CassandraDataSource";
username = "";
password = "";
conn = apacheCassandra(datasource,username,password);

Запишите запрос CQL, который выбирает всех сотрудников, которые являются программистами или клерками магазина, нанятыми до 30 апреля 2006, и получает их идентификаторы задания, арендные даты и адреса электронной почты. job_id ключ раздела employees_by_job таблица базы данных и hire_date кластеризирующийся столбец.

query = strcat("SELECT job_id,hire_date,email ", ... 
    "FROM employeedata.employees_by_job ", ...
    "WHERE job_id IN ('IT_PROG','SH_CLERK') ", ...
    "AND hire_date < '2006-04-30';");

Выполните запрос CQL и отобразите первые несколько строк результатов.

results = executecql(conn,query);
head(results)
ans=8×3 table
      job_id       hire_date       email   
    __________    ___________    __________

    "IT_PROG"     05-Feb-2006    "VPATABAL"
    "IT_PROG"     03-Jan-2006    "AHUNOLD" 
    "IT_PROG"     25-Jun-2005    "DAUSTIN" 
    "SH_CLERK"    24-Apr-2006    "AWALSH"  
    "SH_CLERK"    23-Feb-2006    "JFLEAUR" 
    "SH_CLERK"    24-Jan-2006    "WTAYLOR" 
    "SH_CLERK"    13-Aug-2005    "JDILLY"  
    "SH_CLERK"    14-Jun-2005    "KCHUNG"  

results таблица с job_id, hire_date, и email переменные. hire_date переменной является datetime массив и job_id и email переменные являются строковыми массивами.

Закройте соединение с базой данных Кассандры.

close(conn)

Используя базу данных Apache Cassandra® интерфейс C++, создайте соединение с базой данных Cassandra® и выполните запрос CQL, чтобы импортировать данные от таблицы базы данных Кассандры в MATLAB®. Задайте уровень непротиворечивости для возврата результатов запроса. В этом случае база данных Кассандры содержит employees_by_job таблица базы данных с данными сотрудника в employeedata ключевое пространство.

Создайте соединение с базой данных Кассандры с помощью сконфигурированного источника данных CassandraDataSource и пустое имя пользователя и пароль. apacheCassandra функция возвращает conn как connection объект.

datasource = "CassandraDataSource";
username = "";
password = "";
conn = apacheCassandra(datasource,username,password);

Запишите запрос CQL, который выбирает всех сотрудников, которые являются программистами, и получает их арендные даты и адреса электронной почты. job_id ключ раздела employees_by_job таблица базы данных. Ограничьте возвращенные данные тремя строками.

query = strcat("SELECT hire_date,email ", ... 
    "FROM employeedata.employees_by_job ", ...
    "WHERE job_id = 'IT_PROG'", ...
    "LIMIT 3;");

Выполните запрос CQL с набором уровня непротиворечивости к одному узлу и отобразите результаты.

level = "ONE";
results = executecql(conn,query,'ConsistencyLevel',level)
results=3×2 table
     hire_date       email   
    ___________    __________

    21-May-2007    "BERNST"  
    07-Feb-2007    "DLORENTZ"
    05-Feb-2006    "VPATABAL"

В этом случае только один узел копии отвечает возвращенными данными. results таблица с hire_date и email переменные. hire_date переменной является datetime массив и email переменная является массивом строк.

Закройте соединение с базой данных Кассандры.

close(conn)

Входные параметры

свернуть все

Apache соединение с базой данных Кассандры в виде connection объект.

CQL запрашивают в виде вектора символов или строкового скаляра. Для получения дополнительной информации о CQL, см. Справочную документацию Основы Apache Software CQL.

Пример: "SELECT * FROM dev.maps"

Типы данных: char | string

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: results = executecql(conn,query,'ConsistencyLevel',"TWO",'RequestTimeout',15) задает, чтобы возвратить результаты запроса, когда два узла отвечают для выполнения запросов CQL, и база данных должна ожидать 15 секунд, чтобы возвратить запрос прежде, чем выдать ошибку.

Уровень непротиворечивости в виде одного из этих значений.

Значение уровня непротиворечивостиОписание уровня непротиворечивости

"ALL"

Возвратите результаты запроса, когда все узлы копии будут отвечать (операция чтения) или будут фиксировать изменение (операция записи).

"EACH_QUORUM"

Закончите выполнение, когда большинство узлов копии в каждом дата-центре будет фиксировать изменение (только операция записи).

"QUORUM"

Возвратите результаты запроса, когда большинство узлов копии будет отвечать (операция чтения) или будет фиксировать изменение (операция записи).

"LOCAL_QUORUM"

Возвратите результаты запроса, когда большинство узлов копии в локальном дата-центре будет отвечать (операция чтения) или будет фиксировать изменение (операция записи).

"ONE" (значение по умолчанию)

Возвратите результаты запроса, когда один узел копии будет отвечать (операция чтения) или будет фиксировать изменение (операция записи).

"TWO"

Возвратите результаты запроса, когда два узла копии будут отвечать (операция чтения) или будут фиксировать изменение (операция записи).

"THREE"

Возвратите результаты запроса, когда три узла копии будут отвечать (операция чтения) или будут фиксировать изменение (операция записи).

"LOCAL_ONE"

Возвратите результаты запроса, когда один узел копии в локальном дата-центре будет отвечать (операция чтения) или будет фиксировать изменение (операция записи).

"ANY"

Закончите выполнение, даже если все узлы копии для заданного раздела не доступны (только операция записи).

"SERIAL"

Возвратите результаты запроса для текущего (и возможно незафиксированный) данные для узлов копии в любом дата-центре (только операция чтения).

"LOCAL_SERIAL"

Возвратите результаты запроса для текущего (и возможно незафиксированный) данные для узлов копии в локальном дата-центре (только операция чтения).

Можно задать значение уровня непротиворечивости как вектор символов или строковый скаляр.

Для получения дополнительной информации об уровнях непротиворечивости, смотрите Непротиворечивость данных Конфигурирования.

Типы данных: char | string

Это свойство доступно только для чтения.

Запросите тайм-аут в виде положительного числового скаляра. Тайм-аут запроса указывает на номер секунд, база данных ожидает, чтобы возвратить запрос CQL прежде, чем выдать ошибку.

Типы данных: double

Выходные аргументы

свернуть все

Результаты запроса CQL, возвращенные как таблица. Каждый столбец базы данных Кассандры от результата запроса CQL является переменной в таблице. Имена переменных совпадают с именами столбцов базы данных Кассандры от результата запроса CQL.

Типы данных переменных в таблице зависят от типов данных CQL. Для получения дополнительной информации о том, как типы данных CQL преобразуют в типы данных MATLAB, смотрите, Преобразуют Типы данных CQL в типы данных MATLAB Используя Apache Кассандра Дэйтабэз Интерфейс C++.

Для операций чтения или операций записи, которые не возвращают данных, executecql функция возвращает пустую таблицу.

Введенный в R2021a