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

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

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

Создание соединения с базой данных Cassandra

Создайте соединение с базой данных 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 (идентификатор задания) - ключ раздела в этой таблице базы данных.

Импорт данных из базы данных Cassandra

Импорт данных из 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)

См. также

| | | |

Похожие темы

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