Этот пример показывает, как исследовать структуру базы данных Apache Cassandra® и импортировать данные от таблицы базы данных Кассандры в MATLAB® с помощью соединения с базой данных Кассандры. База данных Кассандры хранит таблицы базы данных согласно ключу раздела. Ключ раздела влияет, как данные отфильтрованы в базе данных.
В этом примере база данных Кассандры содержит таблицу базы данных employees_by_job
с данными сотрудника и ключом раздела job_id
.
Чтобы запустить этот пример, необходимо сначала установить Интерфейс Database Toolbox™ для Apache Cassandra® Database. Для получения дополнительной информации смотрите Интерфейс Database Toolbox для Apache Кассандра Дэйтабэз Инсталлэйшн.
Создайте соединение с базой данных Кассандры с помощью локального адреса хоста. conn
является объектом cassandra
.
contactPoints = "localhost";
conn = cassandra(contactPoints);
Просмотрите ключевые пространства в базе данных Кассандры с помощью соединения с базой данных Кассандры. Массив возвращаемой строки содержит ключевые пространства. Ключевое пространство содержит одну или несколько таблиц базы данных и задает, как база данных реплицирует данные в таблицы.
conn.Keyspaces
ans = 1×6 string array
"employeedata" "system" "system_auth" "system_distributed" "system_schema" "system_traces"
Возвратите имена таблиц базы данных Кассандры в ключевом пространстве employeedata
. t
является массивом строк, который содержит имена таблиц базы данных в ключевом пространстве employeedata
.
keyspace = "employeedata";
t = tablenames(conn,keyspace)
t = 3×1 string array
"employees_by_job"
"employees_by_id"
"employees_by_name"
Возвратите имена столбцов базы данных Кассандры в таблице базы данных employees_by_job
.
tablename = "employees_by_job";
cols = columninfo(conn,keyspace,tablename);
Отобразите первые несколько имен столбцов базы данных Кассандры в таблице базы данных employees_by_job
.
head(cols)
ans=8×4 table
Name DataType PartitionKey ClusteringColumn
________________ ________ ____________ ________________
"job_id" "text" true ""
"hire_date" "date" false "DESC"
"employee_id" "int" false "ASC"
"commission_pct" "double" false ""
"department_id" "int" false ""
"email" "text" false ""
"first_name" "text" false ""
"last_name" "text" false ""
cols
является таблицей с этими переменными:
Имя
Имя столбца базы данных Кассандры
Тип данных
Тип данных Языка запросов Кассандры (CQL) столбца базы данных Кассандры
PartitionKey
— Ключевой показатель раздела
ClusteringColumn
— Кластеризация индикатора столбца
Значение в переменной PartitionKey
указывает, является ли столбец базы данных ключом раздела. Столбец job_id
(идентификатор задания) является ключом раздела в этой таблице базы данных.
Импортируйте данные от таблицы базы данных employees_by_job
в MATLAB с помощью значения ключа раздела для клерка магазина, SH_CLERK
.
keyValue = "SH_CLERK"; results = partitionRead(conn,keyspace,tablename, ... keyValue);
Отобразите первые несколько строк возвращенных данных сотрудника.
head(results)
ans=8×13 table
job_id hire_date employee_id commission_pct department_id email first_name last_name manager_id office performance_ratings phone_number salary
building room
__________ ___________ ___________ ______________ _____________ __________ __________ __________ __________ ________________ ___________________ ______________ ______
"SH_CLERK" 03-Feb-2008 183 NaN 50 "GGEONI" "Girard" "Geoni" 120 "West" 121 [ 2] "650.507.9879" 2800
"SH_CLERK" 13-Jan-2008 199 NaN 50 "DGRANT" "Douglas" "Grant" 124 "West" 139 [3×1 int32] "650.507.9844" 2600
"SH_CLERK" 19-Dec-2007 191 NaN 50 "RPERKINS" "Randall" "Perkins" 122 "West" 255 [ 2] "650.505.4876" 2500
"SH_CLERK" 21-Jun-2007 182 NaN 50 "MSULLIVA" "Martha" "Sullivan" 120 "East" 112 [2×1 int32] "650.507.9878" 2500
"SH_CLERK" 21-Jun-2007 198 NaN 50 "DOCONNEL" "Donald" "OConnell" 124 "East" 125 [3×1 int32] "650.507.9833" 2600
"SH_CLERK" 17-Mar-2007 195 NaN 50 "VJONES" "Vance" "Jones" 123 "West" 236 [5×1 int32] "650.501.4876" 2800
"SH_CLERK" 07-Feb-2007 187 NaN 50 "ACABRIO" "Anthony" "Cabrio" 121 "West" 345 [3×1 int32] "650.509.4876" 3000
"SH_CLERK" 11-Jul-2006 190 NaN 50 "TGATES" "Timothy" "Gates" 122 "East" 297 [3×1 int32] "650.505.3876" 2900
results
является таблицей, которая содержит эти переменные:
job_id
— Идентификатор задания
hire_date
— Наймите дату
employee_id
— Идентификатор сотрудника
commission_pct
— Уполномочьте процент
department_id
— Идентификатор отдела
email
— Адрес электронной почты
first_name
— Имя
last_name
— Фамилия
manager_id
— Идентификатор менеджера
office
— Местоположение Office (таблица, которая содержит две переменные для создания и комнаты),
performance_ratings
— Оценки производительности
phone_number
— Номер телефона
salary
— Зарплата
close(conn)
cassandra
| close
| columninfo
| partitionRead
| tablenames