Интернет-журнал «FORS» Архив номеров На Главную

Интеграция и анализ

Источник статьи в оригинале: Oracle Magazine, ноябрь-декабрь 2013
http://www.oracle.com/technetwork/issue-archive/2013/13-nov/o63ba-2034267.html

Марк Риттман

Совместный анализ и исследование структурированных и неструктурированных данных

Oracle Endeca Information Discovery предоставляет организациям возможность создавать интерактивные, многофункциональные приложения по исследованию данных из всех возможных источников от традиционной «структурированной» информации из Oracle Database и Oracle E-Business Suite, до неструктурированных данных из текстовых документов и социальных сетей.

Новая версия этого продукта, Oracle Endeca Information Discovery 3.0, расширяет эти возможности, поддерживая интеграцию с Oracle Business Intelligence Enterprise Edition 11g и обеспечивая тем самым исследование данных по различным измерениям, фактам, иерархиям и интегрированным наборам данных корпоративной семантической модели.

В данной статье мы рассмотрим, каким образом реализуется такая интеграция. Для этого в инструментальной среде Oracle Endeca Information Discovery Studio разработаем приложение, которое в качестве источника данных будет использовать демо-приложение SampleApp для Oracle Business Intelligence Enterprise Edition. Данные будут загружаться с помощью Oracle Endeca Information Discovery Integrator из предметной области (subject area) «Flight Delays» («Задержки рейсов») приложения SampleApp, а домен данных (data domain) сервера Oracle Endeca Server будет формироваться на основе метаданных о таблицах этой предметной области. В инструментальной среде Oracle Endeca Information Discovery Studio мы создадим начальный вариант веб-приложения по исследованию данных, а затем добавим в него дополнительные неструктурированные источники данных и компоненты визуализации.

Предварительные требования

Для того, чтобы самостоятельно создать приложение, описанное в этой статье, необходимо скачать перечисленные ниже продукты с сайта Oracle Software Delivery Cloud (edelivery.oracle.com), используя полную или пробную лицензию. Здесь доступны версии продуктов как для платформы Microsoft Windows x64, так и для Linux x86-64. Нам будут необходимы следующие продукты:

Преднастроенное и сконфигурированное демо-приложение SampleApp для Oracle Business Intelligence Enterprise Edition 11.1.1.6.2 BP1 (V207), которое будет использоваться как источник данных, можно выгрузить в виде виртуальной машины для Oracle VM VirtualBox с сайта Oracle Technology Network http://www.oracle.com/technetwork/middleware/bi-foundation/obiee-samples-167534.html.

В этой виртуальной машине (SampleApp (V207) Oracle VM VirtualBox) содержится несколько демонстрационных предметных областей, включая «X – Airline Delay» («Задержки на авиалиниях»), которая будет использоваться в нашем примере. С помощью Oracle Endeca Information Discovery Integrator 3.0 мы соединимся с аналитическим сервером, а затем создадим домен данных для сервера Oracle Endeca Server, используя таблицы предметной области в качестве источника данных. После того как в этот домен будут загружены данные и и он будет готов к использованию, с помощью Oracle Endeca Information Discovery Studio 3.0 мы разработаем веб-приложение для исследования полученного набора данных.

Кроме виртуальной машины SampleApp Oracle VM VirtualBox, нам потребуется среда Microsoft Windows для работы со средством администрирования Oracle BI (можно использовать ту же среду, что и для Oracle Endeca Information Discovery). Более подробно ознакомиться с деталями установки и настройки этого продукта для аналитического сервера Oracle BI Server, работающего в среде Linux, можно в разделе “4.5 Admintool access to SampleApp RPD” документа “SampleApp V207 - Virtual Machine Image Deployment Guide”.

Необходимые уточнения

Домен данных сервера Oracle Endeca Server, который получает данные из репозитория Oracle Business Intelligence, создается с помощью специального мастера, входящего в состав Oracle Endeca Information Discovery Integrator. Этот мастер соединяется с репозиторием и предоставляет возможность выбрать конкретную предметную область и набор таблиц, которые будут использоваться в качестве источника для домена данных. На основе имен выбранных таблиц и столбцов автоматически создаются атрибуты домена данных. Поскольку имена таблиц и столбцов бизнес-модели в SampleApp начинаются с цифр (для удобства ссылок на них в демонстрационных информационных панелях), а в домене данных Oracle Endeca Server такие имена недопустимы, предварительно необходимо создать новую версию этих таблиц с именами, начинающимися с букв.

Для того, чтобы создать новую версию предметной области “X – Airline Delay”, которая бы удовлетворяла этим ограничениям по именованию и не влияла на существующие отчеты SampleApp, выполним следующие шаги:

  1. В среде Microsoft Windows, где предварительно был установлен и настроен инструмент администрирования Oracle Business Intelligence Administration, выбираем Start -> Oracle Business Intelligence Enterprise Edition Client -> Administration. В раскрывшемся окне среды администрирования переходим к File -> Open Online, выбираем соединение с демо-приложением SampleApp и вводим логин-данные для репозитория:

    Repository Password: Admin123
    User: weblogic
    Password: Admin123
    ODBC DSN: < >


  2. После того как в открытом окне администрирования появились готовые к редактированию три уровня метаданных репозитория SampleApp перейдем в секцию «Presentation layer» в самой левой части экрана, правой кнопкой мыши кликнем на предметную область «X – Airlines Delay» и выберем в контекстном меню «Duplicate with Business Model». В диалоговом окне «Copy Business Model and Subject Area» выбираем «X0 – Airlines / X – Airlines Delay» и вводим следующие значения для названий новой предметной области и новой бизнес-модели:

    New business model name: OEID Source BM – Airline Delay
    New subject area name: OEID Source – Airline Delay


  3. После ввода имен кликнем на OK, дублирование завершатся и диалоговое окно закрывается.

  4. Теперь, оставаясь в среде администрирования, переходим в секцию метаданных «Business Model and Mapping» (Бизнес-модель и отображения). Заходим в созданную на предыдущем шаге бизнес-модель “OEID Source BM” и переименовываем все объекты, удаляя из имен начальные цифры. Начинаем с логического измерения 00 Time, после клика правой клавиши мышки на этот объект выбираем «Rename» и удаляем все цифры вначале имени, так что вместо 00 Time получится Time. Аналогично 11 Origin переименуется в Origin и так далее до тех пор, когда ни одно имя таблицы не будет начинаться с цифры. В конечном итоге, бизнес модель должна выглядеть так, как показано на рис.1:


    Рисунок 1: Переименование дубликатов таблиц бизнес-модели для удаления числовых префиксов

И наконец, для того, чтобы сохранить измененный репозиторий и сделать его доступным для следующего шага, выбираем File -> Check In Changes. На вопрос «Do you wish to check global consistency» выбираем «No», чтобы избежать проверку остальных объектов репозитория SampleApp, которые не относятся к данному примеру. После этого выбираем File -> Save, а затем File -> Close для того, чтобы сохранить измененный репозиторий на сервере и закрыть соединение инструмента администрирования с ним.

Создание домена данных

Теперь, когда репозиторий Oracle Business Intelligence готов к использованию в Oracle Endeca Information Discovery Integrator, мы можем установить соединение к этому репозиторию и создать первый вариант домена данных сервера Oracle Endeca Server. Для этого выполним следующие шаги, по-прежнему работая в среде Microsoft Windows x86-64.

  1. В Windows выбираем Start -> All Programs -> Oracle Endeca Information Discovery 3.0.0 -> Integrator

  2. Когда приложение Oracle Endeca Information Discovery Integrator открылось, переходим на панель «Navigator» в левом верхнем углу окна приложения и выбираем New -> Project. После появления диалогового окна «New Project» выбираем опцию загрузки данных с сервера BI «Load Data from OBI Server» в папке Endeca Information Discovery, затем выбираем «Next» для продолжения.

  3. Появляется мастер «Load Data from OBI Server» . На первой странице мастера выбираем «Create a new project» и вводим название проекта: в нашем примере это «Flight Delays from OBIEE». Выбираем «Next» для перехода к следующему шагу.

  4. На этом шаге задаем детали соединения с Oracle Endeca Server и вводим имя домена данных. Для нашего примера:
    Endeca Server host: oeid30.mycompany.com
    < >
    Endeca Server port: 7001
    Data domain name: flight_delays
    < >

    Нажимаем на Next для продолжения.

  5. На следующей странице вводим имя пользователя, пароль, имя компьютера, на котором работает OBI Server(имя или IP-адрес виртуальной машины SampleApp Oracle VM VirtualBox), порт, по которому производится соединение с этим сервером и репозиторием SampleApp.
    User: weblogic
    Password: Admin123
    OBI Server host: obieesampleapp.mycompany.com
    < >
    OBI Server port: 9703


  6. Указав все детали соединения, выбираем «Connect to OBI Server», после чего Oracle Endeca Information Discovery Integrator извлекает из репозитория демо-приложения SampleApp список предметных областей. Выбираем Next для продолжения.

  7. На следующей странице мастера выбираем предметную область «OEID Source – Airline Delay», которую мы создали на предыдущих шагах. В качестве источника данных для нашего домена данных выбираем следующие таблицы (рис.2):

    Arrival Delay
    Carrier
    Date
    Destination
    Flight Facts
    Origin
    Route
    Schedule


    После этого нажимаем на «Next» для продолжения.


    Рисунок 2: Выбор таблиц предметной области для импорта в домен данных сервера Oracle Endeca Server

  8. На следующей странице мастера выводится список атрибутов домена данных в Oracle Endeca Server, которые будут созданы для хранения импортируемых данных. Здесь можно настроить свойства этих атрибутов. Для того, чтобы создать две начальные поисковые компоненты интерфейса, -- одну для атрибутов, связанных с отправной точкой полетов, а другую для атрибутов пунктов назначения. введем в столбце «Search Interface Name» на странице мастера следующие значения:
    Attribute Key Search Interface Name
    Orig_Airport_Map_Orig_US_ State_Name Origin
    Orig_Airport_Orig_Region_Name Origin
    Orig_Airport_Orig_Division_Name Origin
    Orig_Airport_Orig_City_Name Origin
    Orig_Airport_Orig_Airport Origin
    Dest_Airport_Map_Orig_US_ State_Name Destination
    Dest _Airport_Orig_Region_Name Destination
    Dest_Airport_Orig_Division_Name Destination
    Dest _Airport_Orig_City_Name Destination
    Dest _Airport_Orig_Airport Destination


  9. Теперь остается кликнуть на «Edit Finished» и затем на «Finish», после чего мастер закрывается и мы переходим к главному окну приложения Oracle Endeca Information Discovery Integrator. Если теперь на панели навигатора выбрать созданный нами проект, то можно увидеть, что Oracle Endeca Information Discovery Integrator полностью сформировал процесс загрузки, который считывает данные из Oracle Business Intelligence Enterprise Edition и использует их для создания домена данных сервера Oracle Endeca Server.

  10. В демо-приложении SampleApp содержатся детальные данные более чем о 6 миллионах рейсов. Для того, чтобы объем результирующего домена данных оставался небольшим – по крайней мере при начальной загрузке, -- можно добавить фильтр для SQL запроса, сгенерированного инструментом Oracle Endeca Information Discovery Integrator, так чтобы из источника извлекались и загружались только данные по полетам за первый квартал 2010 года. Для того, чтобы добавить такой фильтр заходим в в папку «data-in» в панели «Navigator view» и открываем ее. Правым щелчком мыши на кликаем на «QueryStatement.sql» и выбираем Open With -> Text Editor. После этого к автоматически сгенерированному запросу добавляем условие WHERE, которое ограничивает результат только рейсами, выполненными в первом квартале 2010 года:

    where "OEID Source BM - Airline Delay"."Time"."Dep Qtr" = '2010 Q1'

    Затем выбираем из меню Oracle Endeca Information Discovery Integrator пункт File -> Save и сохраняем внесенные в этот файл изменения.

  11. Теперь, наконец, загружаем данные демо-приложения SampleApp в Oracle Endeca Server. В панели навигатора открываем папку графов и двойным кликом на граф Baseline.grf открываем его в главном окне приложения Oracle Endeca Information Discovery Integrator. Кликая в любом месте внутри большого серого прямоугольника на графе, фиксируем его и затем, выбирая Run -> Run в меню Интегратора, начинаем выполнение этого графа и загрузку данных из Oracle Business Intelligence Enterprise Edition в наш домен данных.

Просмотр данных о задержках рейсов

Для того, чтобы посмотреть, что содержится в домене данных, только что сформированном с помощью Oracle Endeca Information Discovery Integrator, можно очень быстро создать приложение в инструментальной среде Oracle Endeca Information Discovery Studio. С помощью этого приложения можно будет исследовать данные, а впоследствии его можно расширить, используя дополнительные возможности Oracle Endeca Information Discovery Studio. Для создания первоначальной версии приложения выполним следующие шаги.

  1. В веб-браузере перейдем на сайт Oracle Endeca Information Discovery Studio, например, по ссылке http://localhost:7002. Вводим логин-данные для пользователя с административными правами для Oracle Endeca Information Discovery Studio, например: admin@oracle.com/welcome1

  2. На появившейся веб-странице «Discovery Applications» переходим к меню в верхнем правом углу, кликаем на стрелку вниз и выбирем «Control Panel». Затем, после того, как раскроется страница Control Panel, выберем Information Discovery -> Data Source и введем детали соединения с источником данных, которые Oracle Endeca Information Discovery Studio будет использовать для подключения к домену данных, созданному на предыдущих шагах.

  3. На раскрывшейся странице «Data Source»выбираем «New Data Source» и в разделе «Data Source Definition» в поле «Data Source ID» вводим «Flight_Delays» и следующие параметры JSON-файла, указывая в качестве значения параметра «server» имя компьютера, на котором запущен Oracle Endeca Server :
    {
     "dataDomainName": "flight_delays",
     "name": "Flight_Delays",
      "port": "7001",
      "server": " oeid30.mycompany.com "
    }

  4. Выбираем «Validate» для проверки соединения и после ее успешного завершения нажимаем на «Save». После перехода в основное приложение выбираем «Back to Home» в верхнем правом углу и возвращаемся на страницу «Discovery Applications».

  5. На этой странице создаем новое приложение: выбираем «New Application» и вводим имя приложения и источник данных:
    Application Name: Flight Delays Explorer
    (Oracle Magazine)
    Data Source: Flight_Delays

Теперь кликаем на Create Application, а затем на Go to Application для просмотра приложения в веб-браузере, как показано на рисунке 3.


Рисунок 3: Приложение, созданное в Endeca Information Discovery Studio

Созданное демонстрационное приложение можно использовать для навигации и поиска по атрибутам, загруженным из Oracle Business Intelligence Enterprise Edition в Oracle Endeca Server, и изучать возможности «фасетного поиска» для получения окончательного набора данных путем постепенного уточнения требований.

Выводы

Приложения Oracle Endeca Information Discovery расширяют возможности аналитической платформы Oracle, позволяя работать с неструктурированнымие и полуструктурированнымие источниками данных и пользоваться уникальными возможностями сервера Oracle Endeca Server по поиску, анализу и агрегированию любых данных.

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