exponenta event banner

partitionRead

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

Описание

пример

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

пример

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

пример

results = partitionRead(___,'ConsistencyLevel',level) задает уровень непротиворечивости, чтобы указать, сколько узлов должно отвечать при считывании данных из таблицы базы данных Кассандры с использованием любой из предыдущих комбинаций входных аргументов.

Примеры

свернуть все

С помощью подключения к базе данных Cassandra ® импортируйте данные из таблицы базы данных Cassandra в MATLAB ®. База данных Кассандры содержит таблицу базы данных с данными сотрудников.

Создайте подключение к базе данных Cassandra, используя адрес локального узла. conn является cassandra объект.

contactPoints = "localhost";
conn = cassandra(contactPoints);

Импорт данных сотрудников в MATLAB из employeedata keyspace и 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)

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

Создайте подключение к базе данных Cassandra, используя адрес локального узла. conn является cassandra объект.

contactPoints = "localhost";
conn = cassandra(contactPoints);

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

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

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

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)

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

Создайте подключение к базе данных Cassandra, используя адрес локального узла. conn является cassandra объект.

contactPoints = "localhost";
conn = cassandra(contactPoints);

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

С помощью подключения к базе данных Cassandra ® импортируйте данные из таблицы базы данных Cassandra в MATLAB ®. Используйте значение ключа раздела в таблице базы данных для импорта данных. Укажите уровень согласованности для возврата результатов. База данных Кассандры содержит таблицу базы данных с данными сотрудников.

Создайте подключение к базе данных Cassandra, используя адрес локального узла. conn является cassandra объект.

contactPoints = "localhost";
conn = cassandra(contactPoints);

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

keyspace = "employeedata";
tablename = "employees_by_job";
keyValue = "IT_PROG";
level = "QUORUM";
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)

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

свернуть все

Подключение к базе данных Кассандры, указанное как cassandra объект.

Keyspace, заданный как вектор символа или скаляр строки. Если вы не знаете ключевое пространство, то получите доступ к Keyspaces имущества 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 импортирует данные путем поиска в нескольких секциях, которые соответствуют всем возможным комбинациям клавиш.

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

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

ascii

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

массив ячеек символьных векторов или строковый массив

bigint

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

числовой массив или logical множество

blob

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

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

boolean

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

числовой массив или logical множество

date

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

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

decimal

числовой скаляр, logical скаляр, или java.math.BigDecimal скаляр

числовой массив, logical массив, или java.math.BigDecimal множество

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 скаляр, или java.math.BigInteger

числовой массив, logical массив, или java.math.BigInteger множество

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

  • counter

  • list

  • map

  • set

  • tuple

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

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

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

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

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

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

"ALL"

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

"QUORUM"

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

"LOCAL_QUORUM"

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

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

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

"TWO"

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

"THREE"

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

"LOCAL_ONE"

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

"SERIAL"

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

"LOCAL_SERIAL"

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

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

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

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

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

свернуть все

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

Типы данных переменных в таблице зависят от типов данных Кассандры. Дополнительные сведения о том, как типы данных CQL преобразуются в типы данных MATLAB, см. в разделе Преобразование типов данных CQL в типы данных MATLAB.

Представлен в R2018b