Sas data integration studio что это

Обновлено: 07.07.2024

SAS DI Studio, или SAS Data Integration Studio, - это инструмент SAS для выполнения ETL и других задач, объединяющий различные типы данных (из Hadoop, Teradata, Cloudera и других источников) наряду с данными SAS, а также позволяющий выполнять задачи программирования.

Я использую SAS Enterprise Guide 7.15. Я хочу экспортировать несколько наборов данных на несколько листов Excel (несколько таблиц на каждом листе). Я использую ODS, и хотя я устанавливаю sheet_interval = "none", после двух таблиц он разбивает страницу и выталкивает следующие таблицы на другой лист.

Для операций ETL мы используем SAS DI studio, а затем, наконец, таблицы загружаются в Teradata. DDL динамически создается в SAS DI Studio для созданных таблиц. Но когда мы хотим настроить DDL для включения разделов, он выдает ошибку. Может ли кто-нибудь предложить обходной путь? Примечание. Мы н.

Попытка использовать функцию LAG в SAS для репликации фрагмента кода при миграции в SAS DI, однако похоже, что в SAS DI нет такой же функции. В настоящее время используется SAS DI 4.21, в ближайшее время планируется перейти на версию 4.9. Итак, мой вопрос: есть ли альтернативный способ репликации с.

Я пытаюсь создать собственное преобразование в SAS DI Studio, чтобы выполнить некоторую сложную обработку, которую я хочу часто использовать. Чтобы достичь этого, в качестве первого шага я пытаюсь воспроизвести функциональность простого преобразования APPEND. С этой целью я включил несколько входов .

Извините за знание английского языка! SAS version 9.3 Необходимо автоматизировать процесс получения исходного кода Job. Я знаю способ развертывания / повторного развертывания, но он не подходит для создания метаданных развертывания. Через макрос: data job_source_code; length uri source_uri $256.;.

Я пытаюсь проделать некоторые манипуляции с файлом CSV, который я прочитал в окне редактора заданий, используя стандартное средство чтения файлов. Для этого я подключаю средство чтения файлов к входному узлу преобразования кода, созданного пользователем, а затем следую инструкциям на эта ссылка. Чт.

SAS разрабатывался в Государственном университете Северной Каролины с 1966 по 1976 год, когда был включен институт SAS. SAS получила дальнейшее развитие в 1980-х и 1990-х годах с добавлением новых статистических процедур, дополнительных компонентов и введения JMP . Интерфейс "укажи и щелкни" был добавлен в версию 9 в 2004 году. Продукт для анализа социальных сетей был добавлен в 2010 году.

СОДЕРЖАНИЕ

Технический обзор и терминология

SAS - это программный пакет, который может добывать, изменять, управлять и извлекать данные из различных источников, а также выполнять их статистический анализ. SAS предоставляет графический пользовательский интерфейс «укажи и щелкни» для нетехнических пользователей и многое другое на языке SAS .

В программах SAS есть шаги DATA, которые извлекают и обрабатывают данные, и шаги PROC, которые анализируют данные. Каждый шаг состоит из серии утверждений.

Шаг DATA содержит исполняемые операторы, которые приводят к тому, что программное обеспечение выполняет действие, и декларативные операторы, которые предоставляют инструкции для чтения набора данных или изменения внешнего вида данных. Шаг DATA состоит из двух этапов: компиляции и выполнения. На этапе компиляции обрабатываются декларативные операторы и выявляются синтаксические ошибки. После этого на этапе выполнения последовательно обрабатывается каждый исполняемый оператор. Наборы данных организованы в таблицы со строками, называемыми «наблюдениями», и столбцами, называемыми «переменными». Кроме того, у каждой части данных есть дескриптор и значение.

Шаг PROC состоит из операторов PROC, которые вызывают именованные процедуры. Процедуры выполняют анализ и составление отчетов по наборам данных для создания статистики, анализа и графиков. Существует более 300 названных процедур, каждая из которых содержит значительный объем программной и статистической работы. Операторы PROC также могут отображать результаты, сортировать данные или выполнять другие операции.

Макросы SAS - это фрагменты кода или переменных, которые кодируются один раз и используются для выполнения повторяющихся задач.

Данные SAS можно публиковать в HTML, PDF, Excel, RTF и других форматах с помощью системы доставки вывода, которая была впервые представлена ​​в 2007 году. SAS Enterprise Guide - это интерфейс SAS, основанный на принципах «укажи и щелкни». Он генерирует код для управления данными или автоматического выполнения анализа и не требует опыта программирования SAS.

Программный пакет SAS состоит из более чем 200 компонентов. Некоторые из компонентов SAS включают:

  • Базовый SAS - Основные процедуры и управление данными
  • SAS / STAT - Статистический анализ
  • SAS / GRAPH - Графика и презентация
  • SAS / OR - Операционные исследования
  • SAS / ETS - Эконометрика и анализ временных рядов
  • SAS / IML - язык интерактивных матриц
  • SAS / AF - Средство приложений
  • SAS / QC - Контроль качества
  • SAS / INSIGHT - интеллектуальный анализ данных
  • SAS / PH - Анализ клинических испытаний
  • Enterprise Miner - интеллектуальный анализ данных
  • Руководство для предприятий - редактор кода на основе графического интерфейса и менеджер проектов
  • SAS EBI - набор приложений бизнес-аналитики
  • SAS Grid Manager - менеджер вычислительной среды SAS grid.

История

Происхождение

Разработка SAS началась в 1966 году после того, как Университет штата Северная Каролина повторно нанял Энтони Барра для программирования своего программного обеспечения для анализа дисперсии и регрессии, чтобы оно могло работать на компьютерах IBM System / 360 . Проект финансировался Национальным институтом здоровья . и изначально предназначалась для анализа сельскохозяйственных данных с целью повышения урожайности сельскохозяйственных культур. К Барру присоединился студент Джеймс Гуднайт , который разработал статистические процедуры программного обеспечения, и они стали руководителями проекта. В 1968 году Барр и Гуднайт интегрировали новые процедуры множественной регрессии и дисперсионного анализа . В 1972 году, после выпуска первой версии SAS, проект лишился финансирования. По словам Goodnight, это произошло потому, что NIH хотел финансировать только проекты с медицинскими приложениями. Гуднайт продолжал преподавать в университете за зарплату в 1 доллар и доступ к мэйнфреймам для использования в проекте, пока в следующем году он не был профинансирован университетскими статистиками Южных экспериментальных станций . Джон Салл присоединился к проекту в 1973 году и внес свой вклад в эконометрику программного обеспечения, временные ряды и матричную алгебру. Еще одна ранняя участница, Кэролл Г. Перкинс, внесла свой вклад в раннее программирование SAS. Джолейн В. Сервис и Джейн Т. Хелвиг создали первую документацию SAS.

Первые версии SAS были названы в честь года их выпуска. В 1971 году SAS 71 был выпущен ограниченным выпуском. Он использовался только на мэйнфреймах IBM и имел основные элементы программирования SAS, такие как этап DATA и наиболее распространенные процедуры на этапе PROC. В следующем году была выпущена полная версия SAS 72, в которой был представлен оператор MERGE и добавлены функции для обработки недостающих данных или объединения наборов данных. В 1976 году Барр, Гуднайт, Салл и Хельвиг вывели проект из штата Северная Каролина и включили его в состав SAS Institute, Inc.

Разработка

SAS был переработан в SAS 76 с открытой архитектурой , допускающей компиляторы и процедуры. Операторы INPUT и INFILE были улучшены, чтобы они могли читать большинство форматов данных, используемых мэйнфреймами IBM. Также добавлено создание отчетов с помощью операторов PUT и FILE. Также была добавлена возможность анализа общих линейных моделей и процедура FORMAT, которая позволяла разработчикам настраивать внешний вид данных. В 1979 году в SAS 79 была добавлена ​​поддержка операционной системы CMS и введена процедура DATASETS. Три года спустя SAS 82 представил ранний макроязык и процедуру APPEND.

SAS версии 4 имел ограниченные возможности, но сделал SAS более доступным. Версия 5 представила полный макроязык, индексы массивов и полноэкранный интерактивный пользовательский интерфейс под названием Display Manager. В 1985 году SAS был переписан на языке программирования Си . Это позволило реализовать архитектуру SAS Multivendor, которая позволяет программному обеспечению работать в UNIX , MS-DOS и Windows . Ранее он был написан на PL / I , Fortran и ассемблере .

В 1980-х и 1990-х годах SAS выпустила ряд компонентов в дополнение к Base SAS. SAS / GRAPH, который производит графику, был выпущен в 1980 году, как и компонент SAS / ETS, который поддерживает эконометрический анализ и анализ временных рядов. Компонент SAS / PH-Clinical, предназначенный для фармацевтических пользователей, был выпущен в 1990-х годах. В 2002 году Управление по санитарному надзору за качеством пищевых продуктов и медикаментов стандартизировало SAS / PH-Clinical для применения новых лекарственных средств. Также были представлены вертикальные продукты, такие как SAS Financial Management и SAS Human Capital Management (тогда они назывались CFO Vision и HR Vision соответственно). JMP был разработан соучредителем SAS Джоном Саллом и группой разработчиков, чтобы воспользоваться преимуществами графического пользовательского интерфейса, представленного в Apple Macintosh 1984 года и впервые выпущенного в 1989 году. Обновленные версии JMP выпускались непрерывно после 2002 г. последний выпуск - 2016 г.

SAS версии 6 использовался на протяжении 1990-х годов и был доступен в более широком диапазоне операционных систем, включая Macintosh , OS / 2 , Silicon Graphics и PRIMOS . SAS представила новые функции через точечные релизы. С 6.06 по 6.09 был представлен пользовательский интерфейс, основанный на парадигме Windows, и добавлена ​​поддержка SQL. Версия 7 представила систему доставки вывода (ODS) и улучшенный текстовый редактор. В последующих выпусках ODS были улучшены. Например, в версии 8 было добавлено больше параметров вывода. Количество поддерживаемых операционных систем было уменьшено до UNIX , Windows и z / OS , а также добавлен Linux . SAS версии 8 и SAS Enterprise Miner были выпущены в 1999 году.

Недавняя история

В 2002 году была представлена ​​программа Text Miner. Text Miner анализирует текстовые данные, такие как электронные письма, на предмет шаблонов в приложениях Business Intelligence. В 2004 году была выпущена версия SAS 9.0, получившая название «Project Mercury» и призванная сделать SAS доступным для более широкого круга бизнес-пользователей. Версия 9.0 добавила настраиваемые пользовательские интерфейсы на основе роли пользователя и установила пользовательский интерфейс «укажи и щелкни» SAS Enterprise Guide в качестве основного графического пользовательского интерфейса (GUI) программного обеспечения. Функции управления взаимоотношениями с клиентами (CRM) были улучшены в 2004 году с помощью SAS Interaction Management. В 2008 году SAS анонсировала Project Unity, предназначенный для интеграции качества данных, интеграции данных и управления основными данными.

SAS Institute Inc против World Programming Ltd - это судебный процесс с разработчиками конкурирующей реализации World Programming System , в которых утверждалось, что они частично нарушили авторские права SAS, реализовав ту же функциональность. Это дело было передано из Высокого суда Соединенного Королевства в Европейский суд 11 августа 2010 года. В мае 2012 года Европейский суд вынес решение в пользу World Programming, установив, что «функциональность компьютерной программы и язык программирования не может быть защищен авторским правом ".

Бесплатная версия была представлена ​​для студентов в 2010 году. В том же году был выпущен SAS Social Media Analytics, инструмент для мониторинга социальных сетей, анализа вовлеченности и настроений . В том же году был представлен SAS Rapid Predictive Modeler (RPM), который создает базовые аналитические модели с помощью Microsoft Excel . В JMP 9 в 2010 году был добавлен новый интерфейс для использования языка программирования R из JMP и надстройка для Excel. В следующем году в рамках партнерства с Teradata и EMC Greenplum стало доступно высокопроизводительное вычислительное устройство . В 2011 году компания выпустила Enterprise Miner 7.1. С октября 2013 года по октябрь 2014 года компания представила 27 продуктов для управления данными и обновила еще 160 продуктов. На глобальном форуме SAS 2015 года компания анонсировала несколько новых продуктов, предназначенных для различных отраслей, а также новое программное обеспечение для обучения.

Дата выхода

С 1972 года у SAS было много выпусков. Начиная с выпуска 9.3, SAS / STAT имеет собственную нумерацию выпусков.

Выпускать Дата Комментарий
72 Январь 1972 г.
76 Июль 1976 г.
79,5 Апрель 1981 г.
82,4 Январь 1983 г.
4.06 Март 1984 г.
5,03 Июль 1986 г.
6.01 Январь 1985 г. ПК DOS
6,03 Март 1988 г.
6.06 Март 1990 г.
6,07 Апрель 1991 г.
6,08 Март 1993 г.
6.09 Октябрь 1993 г.
6.10 Октябрь 1994
6,11 Октябрь 1995 г.
6,12 Ноябрь 1996
7.0 Октябрь 1998
8.0 Ноябрь 1999 г.
8.1 Июль 2000 г.
8,2 Март 2001 г.
9.0 Октябрь 2002 г.
9.1 Декабрь 2003 г.
9.1.3 Август 2004 г.
9.2 Март 2008 г. СТАТИСТИКА 9.2
9,2 м2 Апрель 2010 г. СТАТИСТИКА 9.22
9,3 Июль 2011 г. СТАТИСТИКА 9.3
9,3 м2 Август 2012 г. СТАТ 12.1
9,4 Июль 2013 СТАТУС 12.3
9,4M1 Декабрь 2013 СТАТ 13.1
9,4 м2 Август 2014 г. СТАТУС 13.2
9,4 м3 Июль 2015 г. STAT 14.1
9,4М4 Ноябрь 2016 СТАТИСТИКА 14.2
9,4М5 Сентябрь 2017 г. СТАТУС 14.3
9,4М6 Ноябрь 2018 г. STAT 15.1
9,4М7 Август 2020 г. СТАТ 15.2

Программные продукты

По состоянию на 2011 год самый большой набор продуктов SAS - это линия для сбора информации о клиентах . Многочисленные модули SAS для Интернета, социальных сетей и маркетинговой аналитики могут использоваться для профилирования клиентов и потенциальных клиентов, прогнозирования их поведения, управления и оптимизации коммуникаций. SAS также предоставляет SAS Fraud Framework. Основная функция платформы - отслеживать транзакции в различных приложениях, сетях и партнерах и использовать аналитику для выявления аномалий, указывающих на мошенничество. SAS Enterprise GRC (Governance, Risk and Compliance) обеспечивает моделирование рисков, анализ сценариев и другие функции для управления и визуализации рисков, соблюдения нормативных требований и корпоративных политик. Существует также набор продуктов SAS Enterprise Risk Management, предназначенный в первую очередь для банков и финансовых организаций.

Продукты SAS для мониторинга и управления операциями ИТ-систем вместе именуются SAS IT Management Solutions. SAS собирает данные о производительности и использовании различных ИТ-активов, а затем создает отчеты и анализирует их. Продукты SAS Performance Management объединяют и предоставляют графическое отображение ключевых показателей эффективности (KPI) на уровне сотрудников, отделов и организаций. Пакет продуктов SAS Supply Chain Intelligence предлагается для нужд цепочки поставок, таких как прогнозирование спроса на продукцию, управление распределением и запасами и оптимизация ценообразования. Существует также набор программного обеспечения «SAS for Sustainability Management» для прогнозирования экологических, социальных и экономических последствий и определения причинно-следственных связей между операциями и воздействием на окружающую среду или экосистему.

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

Бесплатное университетское издание

SAS также предлагает бесплатную университетскую версию, которую может загрузить любой желающий для некоммерческого использования. Первое объявление об этом бесплатном университетском издании, похоже, появилось в газетах 28 мая 2014 года.

Сравнение с другими продуктами

В статье 2005 года для Journal of Marriage and Family, в которой сравниваются статистические пакеты от SAS и его конкурентов Stata и SPSS , Алан К. Акок написал, что программы SAS обеспечивают «необычайный диапазон задач анализа данных и управления данными», но их трудно использовать и учиться. Между тем, SPSS и Stata были легче для изучения (с лучшей документацией), но обладали менее способными аналитическими возможностями, хотя их можно было расширить с помощью платных (в SPSS) или бесплатных (в Stata) надстроек. Акок пришел к выводу, что SAS лучше всего подходит для опытных пользователей , в то время как случайные пользователи больше всего выиграют от SPSS и Stata. Сравнение, проведенное Калифорнийским университетом в Лос-Анджелесе , дало аналогичные результаты.

Такие конкуренты, как Revolution Analytics и Alpine Data Labs, рекламируют свои продукты как значительно более дешевые, чем у SAS. В сравнении 2011 года Дуг Хеншен из InformationWeek обнаружил, что стартовые сборы для этих трех компаний одинаковы, хотя он признал, что стартовые сборы не обязательно были лучшей основой для сравнения. Бизнес-модель SAS не так сильно зависит от начальных сборов за свои программы, вместо этого она сосредоточена на доходах от ежегодной абонентской платы.

Принятие

По данным IDC, SAS является крупнейшим держателем доли рынка «продвинутой аналитики» с 35,4% рынка по состоянию на 2013 год. Она является пятым по величине держателем доли рынка программного обеспечения для бизнес-аналитики (BI) с долей 6,9% и крупнейший независимый поставщик. На рынке бизнес- аналитики он конкурирует с такими конгломератами, как SAP BusinessObjects , IBM Cognos , SPSS Modeler , Oracle Hyperion и Microsoft Power BI . Компания SAS была включена в Квадрант лидеров Gartner для инструментов интеграции данных, а также для бизнес-аналитики и аналитических платформ. Исследование, опубликованное в 2011 году в BMC Health Services Research, показало, что SAS использовался в 42,6% анализов данных в исследованиях в сфере здравоохранения на основе выборки из 1139 статей, взятых из трех журналов.


Современные задачи анализа Больших Данных уже не могут быть решены с использованием традиционных подходов.

14.06.2012 Алексей Лоншаков, Алексей Мещеряков, Андрей Свирщевский
  • Ключевые слова / keywords:
  • Аналитика Больших Данных
  • Big Data Analytics

Современные задачи анализа Больших Данных не могут быть решены с использованием традиционных подходов — решения компании SAS позволяют извлечь максимум пользы из накопленных данных, независимо от того, структурированы они или нет и насколько быстро увеличиваются в объеме.

Инструменты бизнес-аналитики помогают принимать решения на основе полезной информации, извлекаемой из данных, но чем больше становится данных, тем сложнее выполнять эту задачу традиционными средствами. Сегодня наиболее успешные компании ищут оптимальный способ, как в кратчайшие сроки извлекать из Больших Данных полезную и релевантную информацию, чтобы быстрее реагировать на изменения конъюнктуры, отвечать на запросы клиентов или выводить на рынок новые продукты.

В решение бизнес-задач аналитическими средствами вовлечены разные группы пользователей, использующие свои специфические инструменты (см. рисунок). Бизнес-пользователям и аналитикам, принимающим стратегические и тактические решения, нужны средства интерактивного анализа и визуализации данных, позволяющие посмотреть на определенные показатели в нужном разрезе и отследить взаимосвязи и тенденции. Для автоматизации оперативных решений, например о выдаче кредита или проверке налоговой декларации, требуется создание сложных аналитических моделей средствами углубленной аналитики. ИТ-специалисту, который настраивает регламентное применение моделей, требуются инструменты обработки данных. Компания SAS разработала линейку специализированного программного обеспечения SAS High Performance Analytics для каждого типа пользователей и для различных задач, решаемых над Большими Данными. В основе предлагаемого решения лежат три технологии взаимодополняющие технологии работы с большими массивами данных.

Большая аналитика для Больших данных
Задачи и решения для разных групп пользователей

SAS Grid Manager управляет распределенными вычислениями в среде SAS при работе на одном сервере и на кластере серверов, что повышает скорость работы, отказоустойчивость системы и масшабируемость. Приложения SAS Data Integration Studio и SAS Enterprise Miner разделяют аналитическую задачу на отдельные шаги-задания и автоматически генерируют поток работ для выполнения на грид. SAS Grid Manager осуществляет управление процессом, распределение и балансировку нагрузки между серверами.

Применяемая в SAS High Performance Analytics технология In-Database позволяет переносить вычислительную нагрузку с аналитического сервера SAS на сервер внешней базы данных, что дает выигрыш в ситуации, когда аналитические модели разрабатываются на SAS, а корпоративное хранилище данных реализовано на СУБД другого поставщика. Продукты серии SAS Scoring Accelerator переводят аналитические модели на язык партнерских СУБД и переносят их внутрь этих СУБД для регламентного применения.

Другая технология — In-Memory — позволяет проводить распределенные вычисления непосредственно в оперативной памяти серверов-лезвий и развивается компанией SAS по трем направлениям: интерактивный анализ и визуализация данных средствами системы SAS Visual Analytics; решение задач углубленной аналитики средствами продукта SAS High Performance Analytics, вплоть до анализа закономерностей в тексте; блок созданных на основе технологии In-Memory прикладных аналитических решений для конкретных бизнес-задач.

Система SAS Visual Analytics сочетает в себе высокопроизводительные средства анализа и графический интерфейс визуализации данных, позволяя пользователям разной квалификации, не прибегая к помощи ИТ-специалистов, анализировать большие объемы данных и получать точные, наглядные и удобные для интерпретации отчеты. В процессе исследования пользователи могут создавать произвольные иерархии данных для многомерного анализа и применять фильтры на любом уровне иерархии, агрегировать и детализировать данные, проводить вычисления по новым показателям и добавлять их к любому представлению. Полученные отчеты можно публиковать в Сети, а благодаря приложениям для мобильных устройств с ними можно работать, например, на iPad. В зависимости от выбранного типа данных, система SAS Visual Analytics автоматически подбирает наиболее подходящую диаграмму для отображения информации: для одного показателя используется график распределения плотности, для двух — диаграмма рассеяния, для трех — пузырьковая диаграмма и т. п.

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

Система SAS Visual Analytics базируется на сервере SAS LASR Analytic Server, позволяющем создавать производительную вычислительную среду SAS. Сервер оптимизирован для применения в средах распределенных вычислений: данные обрабатываются непосредственно в оперативной памяти параллельно на нескольких узлах, что обеспечивает оперативный анализ больших объемов информации. Интеграция с Hadoop позволяет оптимизировать параллельную обработку Больших Данных и обеспечивает необходимую масштабируемость системы.

Поскольку пользователи работают с данными напрямую, самостоятельно, не обращаясь в ИТ-службу, меняется весь бизнес-процесс проведения анализа и принятия решений. В свою очередь, ИТ-специалисты освобождаются от рутинных операций по обработке пользовательских запросов на предоставление доступа к информации и создание новых представлений данных и разовых отчетов.

Алексей Лоншаков, Олег Бродецкий

Продукт SAS High Performance Analytics (SAS HPA) позволяет выполнять алгоритмы основных существующих на сегодняшний день направлений аналитики применительно к сотням миллионов записей. Помимо необходимого набора методов построения прогнозных моделей, реализованы алгоритмы и других направлений: интеллектуальный анализ данных, статистический анализ, прогнозирование временных рядов, а также инструменты интеллектуального анализа текста и решения задач оптимизации. Достижение высокой производительности выполнения аналитических алгоритмов стало возможно благодаря переносу вычислений непосредственно в оперативную память, использованию распределенного хранения данных и распределенных вычислений. Сейчас SAS HPA работает либо поверх специализированных программно-аппаратных средств от Teradata и Greenplum, либо на собственной платформе Hadoop от SAS.

Что дает бизнесу возможность оперативной работы с Большими Данными? Во-первых, скорость получения результатов анализа и, как следствие, скорость принятия решений. Во-вторых, точность моделей — аналитик может запустить анализ большее число раз и быстрее подобрать оптимальные настройки, как это происходит, например, при съемках цифровой, а не пленочной камерой. Появилась возможность быстро получить результат, оценить его качество и скорректировать настройки. Как это работает на практике, проверил один из крупных банков в Америке. За счет того, что среднее время работы аналитической процедуры сократилось с пяти часов до трех минут, появилась возможность применять больше видов алгоритмов в более сложной конфигурации. В результате это увеличило точность моделей в полтора раза, по сравнению с моделями, построенными традиционными аналитическими средствами. Более того, если раньше аналитики часто были вынуждены при анализе брать выборки данных, например, выбирая случайным образом 5% из 123 млн клиентов банка, то теперь такой необходимости нет. Исследования показали, что возможность анализа всей генеральной совокупности увеличивает точность аналитической модели на 33%.

На основе технологии In-Memory создан ряд прикладных решений: SAS High Performance Risks — расчет уровня риска портфеля на рынках капитала; SAS High Performance Markdown Optimization — расчет оптимальной стоимости и скидок для розничной торговли; SAS High Performance Marketing Optimization — определение оптимального предложения каждому клиенту. Представьте, что у компании миллионы клиентов и каждому из них можно сделать десятки предложений. При этом надо учесть склонность каждого клиента принять то или иное предложение и определить конкретный способ взаимодействия с ним, чтобы максимизировать общую прибыль компании в условиях заданных ограничений по числу предложений, пропускной способности каналов коммуникаций и маркетинговому бюджету. Когда решение такой задачи средствами SAS High-Performance Marketing Optimization выполняется не за несколько часов, а за несколько минут, то появляется возможность запустить его несколько раз с разными ограничениями, чтобы подобрать оптимальные настройки маркетинговой кампании. Например, проверить, насколько вырастет прибыль, если увеличить маркетинговый бюджет или пропускную способность канала коммуникации.

Для того чтобы Большие Данные, накопленные компаниями, стали ценным ресурсом и источником полезных знаний, необходима соответствующая ИТ-инфраструктура. Технологии высокопроизводительной аналитики от SAS позволяют реализовать принципиально новый подход к работе с информацией для решения широкого круга аналитических задач — от визуализации и исследования данных до разработки и внедрения аналитических моделей. Компания SAS — один из немногих пока производителей, обеспечивающих работу аналитики в оперативной памяти. Это стало возможным благодаря применению принципов, отличных от применяемых в реляционных СУБД, что позволило снять присущие им ограничения. Кроме того, благодаря кросс-платформности такие решения, как SAS High Performance Analytics, не привязаны к использованию сертифицированного оборудования или специализированных шасси одного производителя.

Хранение данных*,
SQL*,
Big Data*,
Блог компании Тинькофф Банк
В этой статье я хочу рассказать про важную задачу, о которой нужно думать и нужно уметь решать, если в аналитической платформе для работы с данными появляется такой важный компонент как Hadoop — задача интеграции данных Hadoop и данных корпоративного DWH. В Data Lake в Тинькофф Банке мы научились эффективно решать эту задачу и дальше в статье я расскажу, как мы это сделали.


Данная статья является продолжением цикла статей про Data Lake в Тинькофф Банке (предыдущая статья Data Lake – от теории к практике. Сказ про то, как мы строим ETL на Hadoop).

Лирическое отступление. Выше на рисунке изображено живописное озера, а точнее система озер – одно поменьше, другое побольше. То, что поменьше, красивое такое, облагороженное, с яхтами – это корпоративное DWH. А то, что виднеется на горизонте и не помещается на картинке в силу своих размеров – это Hadoop. Лирическое отступление окончено, к делу.

Задача у нас была достаточно тривиальная с точки зрения требований, и нетривиальная с точки зрения выбора технологии и реализации. Нам надо было прорыть канал между этими двумя озерами, наладить простой и эффективный способ публикации данных из Hadoop в DWH и обратно в рамках регламентных процессов, проистекающих в Data Lake.

Выбор технологии

Казалось бы, задача очень простая – научиться быстро перегонять данные таблицы Hive в таблицу Greenplum и обратно. Решать такие задачи, как правило, принято через ETL. Но, задумавшись об объемах таблиц (десятки миллионов строк, гигабайты данных) мы с начала провели исследование. В исследовании мы сравнили четыре подхода:

  • Sqoop — инструмент, входящий в экосистему Hadoop, для пересылки данных между структурированными хранилищами и HDFS;
  • Informatica Big Data Edition – используется у нас как ETL платформа для batch обработки данных в Hadoop;
  • SAS Data Integration Studio — используется у нас как ETL платформа для обработки данных в корпоративном DWH (Greenplum);
  • gphdfs – инструмент/утилита, входящая в состав СУБД Greenplum, для работы (чтения/запись данных) с HDFS.

Далее расскажу про преимущества и недостатки каждого из них.

Sqoop — это средство, предназначенное для передачи данных между кластерами Hadoop и реляционными базами данных. С его помощью можно импортировать данные из системы управления реляционной базой данных (реляционной СУБД), например, SQL Server, MySQL или Oracle, в распределенную файловую систему Hadoop (HDFS), преобразовать данные в системе Hadoop с использованием MapReduce или Hive, а затем экспортировать данные обратно в реляционную СУБД.

Т.к. в задаче изначально не предполагалась трансформация, то вроде бы Sqoop идеально подходит для решения поставленной задачи. Получается, что как только появляется потребность публикации таблицы (или в Hadoop, или в Greenplum), необходимо написать задание (job) на Sqoop и это задание научиться вызывать на одном из планировщиков (SAS или Informatica), в зависимости от регламента.

Всё хорошо, но Sqoop работает с Greenplum через JDBC. Мы столкнулись с крайне низкой производительностью. Тестовая таблица в 30 Gb выгружалась в Greenplum около 1 часа. Результат крайне неудовлетворительный. От Sqoop отказались. Хотя в целом, это очень удобный инструмент для того что бы, например, выгрузить разово в Hadoop, данные какой-либо не очень большой таблицы из реляционной БД. Но, для того что бы строить регламентные процессы на Sqoop, нужно четко понимать требования к производительности работы этих процессов и исходя из этого принимать решение.

Informatica Big Data Edition

Informatica Big Data Edition мы используем как ELT движок обработки данных в Hadoop. Т.е. как раз с помощью Informatica BDE мы строим в Hadoop те витрины, которые нужно опубликовать в Greenplum, где они станут доступны другим прикладным системам банка. Вроде как логично, после того как ELT процессы отработали на кластере Hadoop, построили витрину данных, сделать push этой витрины в Greenplum. Для работы с СУБД Greenplum в Informatica BDE есть PWX for Greenplum, который может работать как в режиме Native, так и в режиме Hive. Т.е., как только появляется потребность публикации таблицы из Hadoop в Greenplum, необходимо написать задание (mapping) на Informatica BDE и это задание вызвать на планировщике Informatica.

Всё хорошо, но есть нюанс. PWX for Greenplum в режиме Native работает как классический ETL, т.е. вычитывает из Hive данные на ETL сервер и уже на ETL сервере поднимает сессию gpload и грузит данные в Greenplum. Получается, что весь поток данных упирается в ETL-сервер.

Далее провели эксперименты в режиме Hive. PWX for Greenplum в режиме Hive работает без участия ETL сервера, ETL сервер только управляет процессом, вся работа с данными происходит на стороне кластера Hadoop (компоненты Informatica BDE устанавливаются так же и на кластер Hadoop). В этом случае сессии gpload поднимаются на узлах кластера Hadoop и грузят данные в Greenplum. Здесь мы не получаем узкое место в виде ETL сервера и производительность работы такого подхода получилась достаточно хорошей — тестовая таблица в 30 Gb выгружалась в Greenplum около 15 минут. Но PWX for Greenplum в режиме Hive работал, на момент проведения исследований, нестабильно. И есть ещё один важный момент. Если требуется сделать обратную публикацию данных (из Greenplum в Hadoop) PWX for Greenplum работает через ODBC.

Для решения задачи было принято решение не использовать Informatica BDE.

SAS Data Integration Studio

SAS Data Integration Studio мы используем как ELT движок обработки данных в Greenplum. Здесь получается другая картина. Informatica BDE строит необходимую витрину в Hadoop, далее SAS DIS делает pull этой витрины в Greenplum. Или иначе, SAS DIS строит какую-либо витрину в Greenplum, далее делает push этой витрины в Hadoop. Вроде бы красиво. Для работы с Hadoop в SAS DIS есть специальные компонент SAS Access Interface to Hadoop. Проводя параллель с PWX for Greenplum, у SAS Access Interface to Hadoop нет режима работы Hive и поэтому все данные польются через ETL сервер. Получили неудовлетворительную производительность работы процессов.

gphdfs – утилита, входящая в состав СУБД Greenplum, позволяющая организовать параллельный транспорт данных между сегмент серверами Greenplum и узлами с данными Hadoop. Провели эксперименты с публикацией данных и из Hadoop в Greenplum, и обратно – производительность работы процессов просто поразила. Тестовая таблица в 30 Gb выгружалась в Greenplum около 2 минут.


Анализ полученных результатов

Для наглядности в таблице ниже приведены результаты исследований.

Технология
Сложность интеграции в регламентные процессы
Трудоемкость разработки процессов
Производительность работы процессов (Hadoop -> Greenplum)
Производительность работы процессов (Greenplum -> Hadoop)

Sqoop
Сложно
Низкая
Неудовлетворительная (JDBC)
Неудовлетворительная (JDBC)

Informatica Big Data Edition (PWX for Greenplum в режиме Native)
Легко
Низкая
Неудовлетворительная (gpload на ETL сервере)
Неудовлетворительная (ODBC)

Informatica Big Data Edition (PWX for Greenplum в режиме Hive)
Легко
Низкая
Удовлетворительная (gpload на узлах кластера Hadoop)
Неудовлетворительная (ODBC)

SAS Data Integration Studio (SAS Access Interface to Hadoop)
Легко
Низкая
Неудовлетворительная
Неудовлетворительная

gphdfs
Сложно
Высокая
Очень высокая (gphdfs)
Очень высокая (gphdfs)

Вывод получился двусмысленный — с наименьшими проблемами в производительности работы процессов, мы получаем утилиту, которую совершенно неприемлемо использовать в разработке ETL процессов как есть. Мы задумались… ELT платформа SAS Data Integration Studio позволяет разрабатывать на ней свои компоненты (трансформы) и мы решили, для того что бы снизить трудоемкость разработки ETL процессов и снизить сложность интеграции в регламентные процессы, разработать два трансформа, которые облегчат работу с gphdfs без потери производительности работы целевых процессов. Далее расскажу о деталях реализации.

Реализация трансформов

У этих двух трансформов достаточно простая задача, выполнить последовательно набор операций вокруг Hive и gphdfs.

Пример (дизайн) трансформа для публикации данных из Hadoop в Greenplum.


Что делает трансформ:

Разработчику остается добавить этот трансформ в job (задание) и указать названия входной и выходной таблиц.

Разработка такого процесса занимает около 15 минут.


По аналогии был реализован трансформ для публикации данных из Greenplum в Hadoop.

ВАЖНО. Ещё один из бенефитов который мы получили решив эту задачу, мы потенциально готовы организовывать процесс offload-а данных из корпоративного DWH в более дешевый Hadoop.

Что я этим хотел рассказать. Основных момента два:

1. Когда вы работаете с большими объемами данных очень внимательно подходите к выбору технологии. Внимательно изучайте задачу, которую собираетесь решать, со всех сторон. Обращайте внимание на сильные и слабые стороны технологии. Старайтесь избегать узких мест. Неправильный выбор технологии может сильно повлиять, пусть и не сразу, на производительность работы системы и как следствие на бизнес процесс, в которым участвует ваша система;

2. Не пугайтесь, а наоборот приветствуйте доработки вашей платформы интеграции данных самописными компонентами. Это позволяет на порядки снизить стоимость и время дальнейшей разработки и поддержки.

Читайте также: