Alibaba Cloud MaxCompute

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 18:08, 16 июня 2019.
Alibaba Cloud MaxCompute
Alibaba Cloud.png
Alibaba Cloud MaxCompute.png
Разработчики: Alibaba Cloud
Выпущена: April 2010; 11 years ago (2010-04)[Источник 1]
Операционная система: Кросс-платформенное
Локализация: Английский
Тип ПО: RDBMS
Лицензия: Проприетарное
Веб-сайт alibabacloud.com

MaxCompute (ранее известная как ODPS) - это универсальная, полностью управляемая, многопользовательская платформа обработки данных для крупномасштабного хранилища данных, разработанная китайской компанией Alibaba Cloud. MaxCompute поддерживает различные решения для импорта данных и модели распределенных вычислений, позволяя пользователям эффективно запрашивать массивные наборы данных, снижать производственные затраты и обеспечивать безопасность данных.

Описание и особенности

Служба вычислений больших данных (MaxCompute, ранее называвшаяся ODPS) - это быстрое и полностью размещаемое решение для хранения данных уровня ГБ / ТБ / ПБ. MaxCompute поддерживает множество классических моделей распределенных вычислений, которые позволяют решать сложные задачи по вычислению данных, снижая при этом издержки бизнеса и поддерживая безопасность данных.

MaxCompute легко интегрируется с DataWorks, что обеспечивает единую синхронизацию данных, разработку задач, разработку рабочих процессов, управление и обслуживание данных, а также управление данными для MaxCompute.

MaxCompute в основном используется для хранения и вычисления пакетов структурированных данных. Он предоставляет широкий спектр решений для хранилищ данных, а также услуги по анализу и моделированию больших данных. Поскольку методы сбора данных становятся все более разнообразными и всесторонними, отрасли промышленности накапливают все большие и большие объемы данных. Масштаб данных вырос до уровня массивных данных (100 ГБ, ТБ и ПБ), которые традиционная индустрия программного обеспечения не может нести.

Туннели данных

MaxCompute использует туннели для передачи данных. Туннели масштабируемы и позволяют импортировать и экспортировать данные объемом в сотни ПБ. Можно импортировать данные через несколько туннелей. Служба туннелей поддерживает Java SDK. Также возможно использование команд на клиенте MaxCompute для обмена файлами и данными с облаком.

MaxCompute Tunnel поддерживает следующие операции:

  • upload – загрузка данных в таблицу. При этом данные могут быть загружены только в одну таблицу или часть таблицы из одного файла или каталога.
  • download – выгрузка данных из таблицы. При этом данные могут быть выгружены только из одной таблицы или части таблицы в один файл.
  • resume – возобновление предыдущей операции загрузки данных в случае возникновения ошибки загрузки.
  • show – предоставление истории предыдущих команд.
  • purge – очистка истории команд за указанный промежуток времени (в днях).

MaxCompute предоставляет услугу DataHub для загрузки данных в режиме реального времени. Эта услуга отличается малым временем отклика и простотой в использовании, что очень подходит для импорта инкрементальных данных. DataHub поддерживает несколько плагинов для передачи данных, таких как Logstash, Flume, Fluentd и Sqoop. Также можно использовать Log Service для легкой отправки логов в MaxCompute и Big Data Development Kits для их анализа.

Вычислительные модели

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

SQL

MaxCompute поддерживает стандартный синтаксис SQL и Apache Hive. Этот комбинированный синтаксис похож на Hibernate Query Language (HQL), поэтому программисты SQL или HQL могут легко использовать MaxCompute. Однако синтаксис MaxCompute SQL отличается от Oracle и MySQL; в частности, вы не можете легко перенести SQL-запросы других баз данных в MaxCompute.

MaxCompute SQL предоставляет более эффективный вычислительный фреймворк, чем общая модель MapReduce. Однако MaxCompute SQL не поддерживает транзакции, индексы, обновление и удаление.

Преимущество MaxCompute SQL – низкая стоимость обучения. Вам не нужно понимать концепцию сложных распределенных вычислений. Если у вас есть опыт работы с базами данных, вы можете быстро ознакомиться с MaxCompute SQL.

MaxCompute SQL предоставляет множество встроенных функций:

  • функции для работы с датой и временем (dateadd, datediff, datepart, datetrunc и др.);
  • математические функции (abs, ceil, floor, round, exp, log, pow и др.);
  • оконные функции, или Window Functions (count, avg, max, min, median, sum, rank и др.);
  • функции для работы со строками (concat, length, split_part, substr, tolower, toupper и др.);
  • другие функции (cast, decode, greatest, least, sample, split и др.)[Источник 2].

Кроме того, MaxCompute SQL поддерживает создание функций, определенных пользователем (UDF).

MapReduce

MaxCompute поддерживает модель MapReduce с использованием Java.

MaxCompute предоставляет три версии модели MapReduce:

  1. MaxCompute MapReduce: собственная версия модели MapReduce для MaxCompute, работающая быстрее других версий [Источник 3]
  2. MR2 (Extended MapReduce): расширение для MaxCompute, которое поддерживает более сложную логику планирования заданий. MR2 реализован так же, как и MaxCompute MapReduce.
  3. Совместимая с Hadoop версия: не совместима с MaxCompute MapReduce и MR2.

Модель MapReduce в MaxCompute отличается от модели MapReduce в сообществе ПО с открытым исходным кодом. Модифицированная модель может быть менее гибкой. Например, вы не можете настраивать алгоритмы сортировки и хеширования. Однако процесс разработки упрощается. Более того, MaxCompute предоставляет модель Extended MapReduce, в которой за одной операцией Map могут следовать несколько операций Reduce.

Graph

В случае использования некоторых сложных вычислительных алгоритмов, таких как алгоритм k-средних, поиск кратчайшего пути (SSSP) или PageRank, MapReduce требует много времени, чтобы выполнить задачу. Поэтому MaxCompute использует модель Graph для достижения большей эффективности.

MaxCompute Graph – это платформа обработки данных, использующая ориентированные графы для построения моделей. Графы состоят из вершин и ребер, содержащих какие-либо значения.

MaxCompute Graph поддерживает следующие элементарные операции над графами:

  • изменение значения вершины или ребра;
  • добавление/удаление вершин;
  • добавление/удаление ребер.

История

Когда Alibaba Cloud была основана в сентябре 2009 года, компания планировала стать первой платформой для обработки и обмена данными. В апреле 2010 года эта цель стала ближе благодаря Службе открытой обработки данных (ODPS), которая поддерживает сферу кредитования Ant Financial. В 2012 году была создана единая платформа данных, а к концу 2013 года у Alibaba Cloud появилась возможность обрабатывать большие объемы данных в больших масштабах. С 2014 по 2015 год была усовершенствована платформа больших данных, а в 2016 году появился MaxCompute 2.0, предоставляющий решения для массовых хранилищ данных и возможности моделирования больших данных.

Установка и начало использования

После приобретения MaxCompute с учетной записью Alibaba Cloud, вы будете добавлены в проект и авторизованы для создания таблицы. После этого можно выполнить настройку клиента на локальном ПК и использовать MaxCompute. В MaxCompute объектами основных операций (ввода и вывода) являются таблицы, поэтому перед обработкой данных необходимо создать таблицы и разделы. Можно использовать любой из следующих методов для создания, просмотра и удаления таблиц:

  • Выполните общие команды на клиенте MaxCompute.
  • Следуйте инструкциям, приведенным в разделе визуализации работы с таблицами, чтобы использовать MaxCompute Studio.
  • Следуйте инструкциям, приведенным в разделе создания таблицы и удаления таблицы, чтобы использовать DataWorks.

Преимущества

Alibaba Cloud MaxCompute обладает следующими преимуществами:

  • Крупномасштабные вычисления и система хранения: MaxCompute подходит для хранения и обработки больших объемов данных (до уровня ПБ).
  • Несколько вычислительных моделей: MaxCompute поддерживает методы обработки данных на основе SQL, MapReduce, итеративных алгоритмов MPI и других моделей программирования.
  • Надежная защита данных: MaxCompute более семи лет предоставляет стабильные службы анализа, функционирующие в автономном режиме, и обеспечивает многоуровневую защиту и мониторинг песочницы.
  • Эффективность с точки зрения затрат: MaxCompute может помочь снизить затраты на закупки на 20-30% по сравнению с использованием собственных облачных моделей[Источник 4].

Источники

  1. // Документация Alibaba Cloud MaxCompute: Ключевые этапы развития [13.12.2018]. Дата обновления: 02.05.2019. URL: https://www.alibabacloud.com/help/doc-detail/59180.htm?spm=a2c63.p38356.b99.3.f0b133b5yiPgJj (дата обращения: 02.05.2019)
  2. // Alibaba Cloud MaxCompute User Guide [11.09.2018]. Дата обновления: 16.06.2019. URL: http://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/download/pdf/DNODPS1898901_intl_en-US_2018-09-11.pdf?spm=a2c63.l28256.a3.32.18bd7cfceXU3hB&file=DNODPS1898901_intl_en-US_2018-09-11.pdf (дата обращения: 16.06.2019).
  3. // Документация Alibaba Cloud MaxCompute: MapReduce [12.12.2018]. Дата обновления: 02.05.2019. URL: https://www.alibabacloud.com/help/doc-detail/27875.htm?spm=a2c63.p38356.b99.110.29de4214chOgs6 (дата обращения: 02.05.2019) .
  4. // Документация Alibaba Cloud MaxCompute: Преимущества MaxCompute [31.01.2019]. Дата обновления: 02.05.2019. URL: https://www.alibabacloud.com/help/doc-detail/27800.htm?spm=a2c63.p38356.b99.2.18fe7908OCJm4e (дата обращения: 02.05.2019) .