Чрезмерные массивы способны разрешить кроссплатформенные манипуляции

MATLAB R2016a, корпорации Mathworks, получил целый ряд усовершенствований, в том числе «живого редактирования» и возможности анализа огромного количества информации. Последняя версия, MATLAB R2016b, включает в себя новый тип данных – чрезмерные массивы (tall arrays). Чрезмерные массивы позволяют пользователям MATLAB получать доступ к данным из ряда источников, включая базы данных Hadoop Distributed File System (HDFS). Они не ограничиваются объемом памяти на хост-компьютере.

MATLAB R2006b ввел понятие распределенных массивов. Это позволило разработчикам воспользоваться информацией под управлением приложения MATLAB на нескольких компьютерах с данными в оперативной памяти, распределенных среди машин. Эта функция по-прежнему доступна, но задача состоит в разработке приложения и распределении данных.

chrezmernye-massivy-tall-arrays-v-matlab

Чрезмерные массивы могут использоваться в различных формах: в одной системе работает приложение, которое имеет доступ к большим объемам данных (которые не будут устанавливаться в память хоста) системы Hadoop со многими процессорами (имеют доступ к HDFS). Тот же самый код будет работать на этих и других конфигурациях с MATLAB, управляя распределением данных и программ. Это значительно упрощает работу разработчикам, позволяя им сосредоточиться на алгоритме, а не управлением данными.

Хотя чрезмерные массивы могут использовать таблицы баз данных SQL или файлы электронных таблиц в качестве источников информации, они используют MATLAB’s Datastore, поддержка которого была добавлена в MATLAB 2014b для определения источника получаемых данных. Приложение может использовать любое количество соглашения или чрезмерных массивов, так что данные приложения могут быть распространены вокруг ряда источников с управляющей системой MATLAB.

Чрезмерные массивы представляют собой данные колоннообразного типа, такие как таблицы баз данных и электронные таблицы. Поддержка включает в себя математические и статистические операции, а также операции манипулирования данными. Mathworks предоставляет алгоритмы статистического и машинного обучения, а также tall arrays поддерживают параллельные вычислительные инструменты.

Использование tall arrays с кластером Hadoop позволяет системе запускать приложение в кластере, а не передавать данные в ПК. Это обеспечивает производительность обработки и хранения значительно больше, чем даже многоядерный сервер.

Отладка и профилирование на кластере Hadoop является сложным, так что разработчики, скорее всего, будут работать на локальном компьютере для разработки алгоритмов, которые используют чрезмерные массивы. Алгоритмы затем могут быть перенесены в кластер, если существует необходимость в очень больших объемах данных и вычислительных мощностях. ПК обеспечивает интерактивную отладку, трассировку и профилирование.

Тип данных чрезмерных массивов поддерживается упаковочной системой MATLAB, которая позволяет разработчику свободно применять этот тип данных, как и для приложений, разработанных с использованием языка С. Это требует немного больше конфигурации для обработки различных источников данных. Пакет может быть настроен для работы с любыми источниками данных, а разработчик должен работать с использованием интерактивной версии MATLAB.

Система MATLAB Coder, которая генерирует код C для встраиваемых приложений, также поддерживает чрезмерные массивы. Это позволяет включать поддержку во встраиваемые приложения.

Mathworks также добавил API MATLAB для Spark в MATLAB 2016b. Apache Spark ориентированный ациклический граф (directed acyclic graph (DAC)), совместимый с Hadoop. Это еще один способ для использования преимуществ Hadoop.

Разработчикам, использующим API MATLAB для Spark работы на уровне Spark API, стоит знать, что она включает в себя такие функции как flatMap и mapParitions по сравнению с чрезмерными массивами, которые используют операции над массивами MATLAB.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой: