exponenta event banner

executecql

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

Описание

пример

results = executecql(conn,query) возвращает результаты выполнения запроса Cassandra ® Query Language (CQL) в базе данных Cassandra с использованием подключения к базе данных Cassandra. executecql импортирует результаты запроса в MATLAB ®.

пример

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

Примеры

свернуть все

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

Создание подключения к базе данных Cassandra с использованием настроенного источника данных 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 переменные являются строковыми массивами.

Закройте подключение к базе данных Cassandra.

close(conn)

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

Создание подключения к базе данных Cassandra с использованием настроенного источника данных 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 переменная является строковым массивом.

Закройте подключение к базе данных Cassandra.

close(conn)

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

свернуть все

Подключение к базе данных Apache Cassandra, указанное как connection объект.

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

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

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

Аргументы пары «имя-значение»

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

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

Уровень согласованности, указанный как одно из этих значений.

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

"ALL"

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

"EACH_QUORUM"

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

"QUORUM"

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

"LOCAL_QUORUM"

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

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

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

"TWO"

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

"THREE"

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

"LOCAL_ONE"

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

"ANY"

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

"SERIAL"

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

"LOCAL_SERIAL"

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

Значение уровня согласованности можно указать как вектор символа или скаляр строки.

Дополнительные сведения об уровнях непротиворечивости см. в разделе Настройка непротиворечивости данных.

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

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

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

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

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

свернуть все

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

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

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

Представлен в R2021a