Выполнение запроса CQL в базе данных Apache Cassandra
указывает параметры, использующие один или несколько аргументов значения имени. Например, 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)
conn - Подключение базы данных Apache Cassandraconnection объектПодключение к базе данных Apache Cassandra, указанное как connection объект.
query - Запрос CQLЗапрос 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 секунд, чтобы вернуть запрос, прежде чем выдать ошибку.'ConsistencyLevel' - Уровень непротиворечивости"ONE" (по умолчанию) | символьный вектор | строковый скалярУровень согласованности, указанный как одно из этих значений.
| Значение уровня согласованности | Описание уровня согласованности |
|---|---|
| Возвращает результаты запроса, когда все узлы реплики отвечают (операция чтения) или фиксируют изменение (операция записи). |
| Завершите выполнение, когда большинство узлов реплики в каждом центре обработки данных зафиксируют изменение (только операция записи). |
| Возвращает результаты запроса, когда большинство узлов реплики отвечают (операция чтения) или фиксируют изменение (операция записи). |
| Возвращайте результаты запроса, когда большинство узлов реплики в локальном центре обработки данных отвечают (операция чтения) или фиксируют изменение (операция записи). |
| Возвращает результаты запроса, когда один узел реплики отвечает (операция чтения) или фиксирует изменение (операция записи). |
| Возвращает результаты запроса, когда два узла реплики отвечают (операция чтения) или фиксируют изменение (операция записи). |
| Возвращает результаты запроса, когда три узла реплики отвечают (операция чтения) или фиксируют изменение (операция записи). |
| Возвращайте результаты запроса, когда один узел реплики в локальном центре обработки данных отвечает (операция чтения) или фиксирует изменение (операция записи). |
| Завершите выполнение, даже если все узлы реплики для указанного раздела недоступны (только операция записи). |
| Возвращает результаты запроса текущих (и, возможно, незафиксированных) данных для узлов реплики в любом центре обработки данных (только операция чтения). |
| Возвращает результаты запроса текущих (и, возможно, незафиксированных) данных для узлов реплики в локальном центре обработки данных (только операция чтения). |
Значение уровня согласованности можно указать как вектор символа или скаляр строки.
Дополнительные сведения об уровнях непротиворечивости см. в разделе Настройка непротиворечивости данных.
Типы данных: char | string
'RequestTimeout' - Тайм-аут запроса12 (по умолчанию) | положительный числовой скалярЭто свойство доступно только для чтения.
Тайм-аут запроса, указанный как положительный числовой скаляр. Тайм-аут запроса указывает количество секунд, в течение которых база данных ожидает возврата запроса CQL перед выдачей ошибки.
Типы данных: double
results - Результаты запроса CQLРезультаты запроса CQL, возвращенные в виде таблицы. Каждый столбец базы данных Cassandra из результата запроса CQL является переменной в таблице. Имена переменных соответствуют именам столбцов базы данных Cassandra из результата запроса CQL.
Типы данных переменных в таблице зависят от типов данных CQL. Дополнительные сведения о том, как типы данных CQL преобразуются в типы данных MATLAB, см. в разделе Преобразование типов данных CQL в типы данных MATLAB с помощью интерфейса Apache Cassandra Database C++.
Для операций чтения или записи, которые не возвращают данные, executecql функция возвращает пустую таблицу.
apacheCassandra | close | columninfo | partitionRead | tablenames | upsertИмеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.