Выполните запрос CQL в базе данных Apache Cassandra
задает опции, используя один или несколько аргументов имя-значение. Для примера, results
= executecql(conn
,query
,Name,Value
)'ConsistencyLevel',"TWO"
устанавливает уровень согласованности, чтобы указать, что два узла должны ответить для выполнения запроса CQL.
Используя интерфейс C++ базы данных Apache Cassandra ®, создайте соединение с базой данных Cassandra ® и выполните запрос CQL для импорта данных из таблицы базы данных Cassandra в MATLAB ®. В этом случае база данных Cassandra содержит employees_by_job
таблица базы данных с данными о сотрудниках в employeedata
keyspace.
Создайте соединение с базой данных Cassandra с помощью настроенного источника данных CassandraDataSource
и пустые имя пользователя и пароль. The 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
переменные. The hire_date
переменная является datetime
массив и job_id
и email
переменные строковые массивы.
Закройте соединение с базой данных Cassandra.
close(conn)
Используя интерфейс C++ базы данных Apache Cassandra ®, создайте соединение с базой данных Cassandra ® и выполните запрос CQL для импорта данных из таблицы базы данных Cassandra в MATLAB ®. Задайте уровень согласованности для возврата результатов запроса. В этом случае база данных Cassandra содержит employees_by_job
таблица базы данных с данными о сотрудниках в employeedata
keyspace.
Создайте соединение с базой данных Cassandra с помощью настроенного источника данных CassandraDataSource
и пустые имя пользователя и пароль. The 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
переменные. The 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.