partitionRead

Импорт данных из разделов таблицы базы данных Apache Cassandra

Описание

пример

results = partitionRead(conn,keyspace,tablename) возвращает импортированные данные путем чтения всех Кассандра® столбцы базы данных из всех разделов таблицы базы данных Cassandra. partitionRead функция импортирует данные из базы данных Cassandra в MATLAB® без использования запроса Cassandra Query Language (CQL).

пример

results = partitionRead(conn,keyspace,tablename,keyValue1...keyValueN) возвращает импортированные данные путем чтения всех столбцов Кассандры из одного или нескольких разделов, заданных значениями ключа секционирования.

пример

results = partitionRead(___,Name,Value) задает опции, использующие один или несколько аргументов имя-значение, используя любую из предыдущих комбинаций входных аргументов. Для примера, 'ConsistencyLevel',"TWO" устанавливает уровень согласованности, чтобы указать, что два узла должны ответить для выполнения запроса CQL.

Примеры

свернуть все

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

Создайте соединение с базой данных Cassandra с помощью настроенного источника данных CassandraDataSource и пустые имя пользователя и пароль. The apacheCassandra функция возвращает conn как connection объект.

datasource = "CassandraDataSource";
username = "";
password = "";
conn = apacheCassandra(datasource,username,password);

Импорт данных о сотрудниках в MATLAB из пространства ключей employeedata и employees_by_job таблица базы данных при помощи подключения к базе данных Cassandra.

keyspace = "employeedata";
tablename = "employees_by_job";
results = partitionRead(conn,keyspace,tablename);

Отображение первых нескольких строк возвращенных данных о сотруднике.

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                                                   
    __________    ___________    ___________    ______________    _____________    __________    __________    _____________    __________    ________________    ___________________    ______________    ______

    "ST_CLERK"    08-Mar-2008        128             NaN               50          "SMARKLE"     "Steven"      "Markle"            120        "North"     171         {3×1 int32}        "650.124.1434"     2200 
    "ST_CLERK"    06-Feb-2008        136             NaN               50          "HPHILTAN"    "Hazel"       "Philtanker"        122        "North"     303         {[      2]}        "650.127.1634"     2200 
    "ST_CLERK"    12-Dec-2007        135             NaN               50          "KGEE"        "Ki"          "Gee"               122        "West"      287         {2×1 int32}        "650.127.1734"     2400 
    "ST_CLERK"    10-Apr-2007        132             NaN               50          "TJOLSON"     "TJ"          "Olson"             121        "North"     256         {[      7]}        "650.124.8234"     2100 
    "ST_CLERK"    14-Jan-2007        127             NaN               50          "JLANDRY"     "James"       "Landry"            120        "West"      273         {2×1 int32}        "650.124.1334"     2400 
    "ST_CLERK"    28-Sep-2006        126             NaN               50          "IMIKKILI"    "Irene"       "Mikkilineni"       120        "East"      246         {4×1 int32}        "650.124.1224"     2700 
    "ST_CLERK"    26-Aug-2006        134             NaN               50          "MROGERS"     "Michael"     "Rogers"            122        "East"      246         {3×1 int32}        "650.127.1834"     2900 
    "ST_CLERK"    09-Jul-2006        144             NaN               50          "PVARGAS"     "Peter"       "Vargas"            124        "North"     129         {3×1 int32}        "650.121.2004"     2500 

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)

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

Создайте соединение с базой данных Cassandra с помощью настроенного источника данных CassandraDataSource и пустые имя пользователя и пароль. The apacheCassandra функция возвращает conn как connection объект.

datasource = "CassandraDataSource";
username = "";
password = "";
conn = apacheCassandra(datasource,username,password);

Импорт данных о сотрудниках в MATLAB из employeedata keyspace и employees_by_name таблица базы данных при помощи подключения к базе данных Cassandra. Эта таблица базы данных имеет first_name и last_name ключи от разделов. Укажите первые и последние имена двух сотрудников как значения ключей секционирования для импорта данных для этих двух сотрудников.

keyspace = "employeedata";
tablename = "employees_by_name";
keyValue1 = ["Christopher","Alexander"];
keyValue2 = ["Olsen","Hunold"];
results = partitionRead(conn,keyspace,tablename,keyValue1,keyValue2);

Просмотрите возвращенные данные сотрудника для этих двух сотрудников.

results
results=2×13 table
     first_name      last_name     hire_date     employee_id    commission_pct    department_id      email       job_id      manager_id         office         performance_ratings        phone_number        salary
                                                                                                                                           building    room                                                         
    _____________    _________    ___________    ___________    ______________    _____________    _________    _________    __________    ________________    ___________________    ____________________    ______

    "Alexander"      "Hunold"     03-Jan-2006        103             NaN               60          "AHUNOLD"    "IT_PROG"       102        "West"      155         {2×1 int32}        "590.423.4567"           9000 
    "Christopher"    "Olsen"      30-Mar-2006        153             0.2               80          "COLSEN"     "SA_REP"        145        "South"     333         {4×1 int32}        "011.44.1344.498718"     8000 

results - таблица, содержащая следующие переменные:

  • first_name - Имя

  • last_name - Фамилия

  • hire_date - Дата найма

  • employee_id - Идентификатор сотрудника

  • commission_pct - Процент комиссионных

  • department_id - Идентификатор отдела

  • email - Адрес электронной почты

  • job_id - Идентификатор задания

  • manager_id - Идентификатор менеджера

  • office - Расположение офиса (таблица, содержащая две переменные для создания и комнаты)

  • performance_ratings - Рейтинги эффективности

  • phone_number - Номер телефона

  • salary - Зарплата

Закройте соединение с базой данных Cassandra.

close(conn)

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

Создайте соединение с базой данных Cassandra с помощью настроенного источника данных CassandraDataSource и пустые имя пользователя и пароль. The apacheCassandra функция возвращает conn как connection объект.

datasource = "CassandraDataSource";
username = "";
password = "";
conn = apacheCassandra(datasource,username,password);

Импорт данных о сотрудниках в MATLAB из employeedata keyspace и employees_by_job таблица базы данных при помощи подключения к базе данных Cassandra. Эта таблица базы данных имеет job_id ключ раздела. Задайте IT_PROG значение ключа раздела для импорта всех данных только для тех сотрудников, которые являются программистами. Кроме того, задайте уровень согласованности как один узел.

keyspace = "employeedata";
tablename = "employees_by_job";
keyValue = "IT_PROG";
level = "ONE";
results = partitionRead(conn,keyspace,tablename,keyValue, ...
    'ConsistencyLevel',level);

Один узел реплики отвечает возвращенными данными.

Просмотр возвращенных данных о сотруднике.

results
results=5×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                                                   
    _________    ___________    ___________    ______________    _____________    __________    ___________    ___________    __________    ________________    ___________________    ______________    ______

    "IT_PROG"    21-May-2007        104             NaN               60          "BERNST"      "Bruce"        "Ernst"           103        "North"     371         {[      8]}        "590.423.4568"     6000 
    "IT_PROG"    07-Feb-2007        107             NaN               60          "DLORENTZ"    "Diana"        "Lorentz"         103        "West"      133         {3×1 int32}        "590.423.5567"     4200 
    "IT_PROG"    05-Feb-2006        106             NaN               60          "VPATABAL"    "Valli"        "Pataballa"       103        "East"      231         {5×1 int32}        "590.423.4560"     4800 
    "IT_PROG"    03-Jan-2006        103             NaN               60          "AHUNOLD"     "Alexander"    "Hunold"          102        "West"      155         {2×1 int32}        "590.423.4567"     9000 
    "IT_PROG"    25-Jun-2005        105             NaN               60          "DAUSTIN"     "David"        "Austin"          103        "South"     393         {2×1 int32}        "590.423.4569"     4800 

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)

Входные параметры

свернуть все

Соединение с базой данных Apache Cassandra, заданное как connection объект.

Keyspace, заданный как вектор символов или строковый скаляр. Если вы не знаете ключевого пространства, то получите доступ к Keyspaces свойство connection объект, использующий запись через точку для просмотра ключевых пространств в базе данных Cassandra.

Пример: "employeedata"

Типы данных: char | string

Имя таблицы базы данных Cassandra, заданное как вектор символов или строковый скаляр. Если вы не знаете имя таблицы, используйте tablenames функция, чтобы найти его.

Пример: "employees_by_job"

Типы данных: char | string

Значения ключа секционирования, заданные как один из следующих типов данных:

  • числовой скаляр

  • числовой массив

  • вектор символов

  • массив ячеек из векторов символов

  • строковый скаляр

  • Строковые массивы

  • logical

  • logical массив

  • datetime массив

  • duration массив

Если вы не задаете keyValue1...keyValueN входной параметр, затем partitionRead функция импортирует данные из всех разделов таблицы базы данных Cassandra (аналогично запросу CQL SELECT * FROM tablename).

Задайте по одному значению ключа для каждого раздела таблицы базы данных Cassandra. Максимальное количество значений ключей разделов, которые вы можете задать, это количество первичных ключей, которое включает ключи разделов и столбцы кластеризации в базе данных Cassandra.

Если вы задаете скалярное значение, то эквивалентным запросу CQL является = предложение в CQL- WHERE пункт. Если вы задаете массив значений, то эквивалентным запросу CQL является IN предложение в CQL- WHERE пункт.

Если все значения ключа разбиения являются скалярными значениями, то partitionRead функция импортирует данные из одного раздела. Если некоторые значения ключа секционирования являются массивами, то partitionRead функция импортирует данные путем поиска нескольких разделов, которые соответствуют всем возможным комбинациям ключей.

В следующей таблице описаны поддерживаемые ключи разделов Кассандры.

Поддерживаемый ключ разделения КассандрыMATLAB допустимые типы данных для одного разделаMATLAB типы данных для нескольких разделов

ascii

вектор символов или строковый скаляр

массив ячеек из векторов символов или строковых массивов

bigint

числовой скаляр или logical скаляр

числовой массив или logical массив

blob

числовой массив

массив ячеек из числовых массивов

boolean

числовой скаляр или logical скаляр

числовой массив или logical массив

date

datetime массив, строковый скаляр или вектор символов

datetime массив, строковые массивы или массив ячеек из векторов символов

decimal

числовой скаляр, logical скаляр, или string скаляр

числовой массив, logical массив, или string массив

double

числовой скаляр или logical скаляр

числовой массив или logical массив

float

числовой скаляр или logical скаляр

числовой массив или logical массив

inet

вектор символов или строковый скаляр

массив ячеек из векторов символов или строковых массивов

int

числовой скаляр или logical скаляр

числовой массив или logical массив

smallint

числовой скаляр или logical скаляр

числовой массив или logical массив

text

вектор символов или строковый скаляр

массив ячеек из векторов символов или строковых массивов

time

duration массив, строковый скаляр или вектор символов

duration массив, строковые массивы или массив ячеек из векторов символов

timestamp

datetime массив, строковый скаляр или вектор символов

datetime массив, строковые массивы или массив ячеек из векторов символов

timeuuid

вектор символов или строковый скаляр

массив ячеек из векторов символов или строковых массивов

tinyint

числовой скаляр или logical скаляр

числовой массив или logical массив

uuid

вектор символов или строковый скаляр

массив ячеек из векторов символов или строковых массивов

varchar

вектор символов или строковый скаляр

массив ячеек из векторов символов или строковых массивов

varint

числовой скаляр, logical скаляр, или string

числовой массив, logical массив, или string массив

Эти ключи разделов Cassandra не поддерживаются:

  • counter

  • list

  • map

  • set

  • tuple

  • определяемые пользователем типы (UDT)

Пример: ["MA","CT"]

Пример: 1,2,'DataProvider1','AmbientTemp'

Типы данных: double | logical | char | string | struct | cell | datetime | duration

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: results = partitionRead(conn,keyspace,tablename,'ConsistencyLevel',"ONE",'RequestTimeout',15) возвращает импортированные данные путем получения отклика read от одного узла, и база данных должна подождать 15 секунд, чтобы выполнить операцию read перед выдачей ошибки.

Уровень согласованности, заданный в качестве одного из следующих значений.

Значение уровня согласованностиОписание уровня согласованности

"ALL"

Возвращает результаты запроса, когда все узлы реплики отвечают.

"QUORUM"

Возвращает результаты запроса при ответе большинства узлов реплики.

"LOCAL_QUORUM"

Возвращает результаты запроса при ответе большинства узлов реплики в локальном центре обработки данных.

"ONE" (по умолчанию)

Возвращает результаты запроса при ответе одного узла реплики.

"TWO"

Возвращает результаты запроса, когда отвечают два узла реплики.

"THREE"

Возвращает результаты запроса при ответе трех узлов реплики.

"LOCAL_ONE"

Возвращает результаты запроса, когда отвечает один узел реплики в локальном центре обработки данных.

"SERIAL"

Возвращает результаты запросов для текущих (и, возможно, незафиксированных) данных для узлов реплики в любом центре обработки данных.

"LOCAL_SERIAL"

Возвращает результаты запроса текущих (и, возможно, незафиксированных) данных для узлов реплики в локальном центре обработки данных.

Можно задать значение уровня согласованности как вектор символов или строковый скаляр.

Дополнительные сведения об уровнях согласованности см. в разделе Настройка согласованности данных.

Типы данных: char | string

Это свойство доступно только для чтения.

Тайм-аут запроса, заданный как положительный числовой скаляр. Тайм-аут запроса указывает количество секунд, в течение которых база данных ожидает возврата запроса CQL перед выдачей ошибки.

Типы данных: double

Выходные аргументы

свернуть все

Импортированные результаты данных, возвращенные как таблица. Таблица содержит импортированные данные из разделов, которые соответствуют keyValue1...keyValueN входной параметр. Каждый столбец базы данных Cassandra из разделов становится переменной в таблице. Имена переменных совпадают с именами столбцов базы данных Cassandra в заданных разделах.

Типы данных переменных в таблице зависят от типов данных Кассандры. Для получения дополнительной информации о том, как типы данных CQL преобразуются в типы данных MATLAB, смотрите Преобразование типов данных CQL в типы данных MATLAB с использованием интерфейса Apache Cassandra Database C++.

Введенный в R2021a