В этом примере показано, как исследовать структуру базы данных Apache Cassandra ® и импортировать данные из таблицы базы данных Cassandra в MATLAB ® с помощью соединения базы данных Cassandra с интерфейсом C++ базы данных Apache Cassandra. База данных Cassandra хранит таблицы базы данных в соответствии с ключом раздела. Ключ раздела влияет на фильтрацию данных в базе данных.
В этом примере база данных Cassandra содержит employees_by_job
таблица базы данных с данными о сотрудниках и job_id
ключ раздела.
Создайте соединение с базой данных Cassandra с помощью настроенного источника данных CassandraDataSource
и пустые имя пользователя и пароль. The apacheCassandra
функция возвращает conn
как connection
объект.
datasource = "CassandraDataSource"; username = ""; password = ""; conn = apacheCassandra(datasource,username,password);
Просмотрите ключевые пространства в базе данных Cassandra с помощью подключения к базе данных Cassandra. Возвращённые строковые массивы содержат ключевые пространства. Пространство ключей содержит одну или несколько таблиц базы данных и определяет, как база данных реплицирует данные в таблицах.
conn.Keyspaces
ans = 6×1 string
"employeedata"
"system"
"system_auth"
"system_distributed"
"system_schema"
"system_traces"
Возвращает имена таблиц базы данных Cassandra в employeedata
keyspace. t
- строковые массивы, содержащий имена таблиц базы данных в employeedata
keyspace.
keyspace = "employeedata";
t = tablenames(conn,keyspace)
t = 3×1 string
"employees_by_id"
"employees_by_job"
"employees_by_name"
Возвращает имена столбцов базы данных Cassandra в employees_by_job
таблица базы данных.
tablename = "employees_by_job";
cols = columninfo(conn,keyspace,tablename);
Отображение первых нескольких имен столбцов базы данных Cassandra в 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
- таблица с этими переменными:
Name
- имя столбца базы данных Кассандра
DataType
- тип данных языка запросов Cassandra (CQL) столбца базы данных Cassandra
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
- Расположение офиса (таблица, содержащая две переменные для создания и комнаты)
performance_ratings
- Рейтинги эффективности
phone_number
- Номер телефона
salary
- Зарплата
close(conn)
apacheCassandra
| close
| columninfo
| partitionRead
| tablenames