exponenta event banner

Изучение и импорт данных из таблицы базы данных Кассандры

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

В этом примере база данных Cassandra содержит employees_by_job таблица базы данных с данными сотрудников и job_id ключ раздела.

Создание подключения к базе данных Cassandra

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

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

close(conn)

См. также

| | | |

Связанные темы

Внешние веб-сайты