Pentaho Инструкция

Pentaho Инструкция

В данной статье рассматривается концепция Business Intelligence и ее реализация с помощью JEEпродуктов с открытым исходным. Итак, дорогие хабровчане, хочу представить на ваше обозрение инструкцию, как нам пришлось поднимать OLAPсервер в нашей. Система Pentaho Data Integration PDI, также известная как Kettle это компонент комплекса Pentaho отвечающий за процесс. В этой части попробую немного рассказать об отчетах, которые могут существовать в Pentaho BI Suite. Могут существовать 3 типа. Pentaho Инструкция' title='Pentaho Инструкция' />Запуск OLAP сервера на базе Pentaho по шагам Хабрахабр. Итак, дорогие хабровчане, хочу представить на ваше обозрение инструкцию, как нам пришлось поднимать OLAP сервер в нашей компании. Шаг за шагом мы пройдем по пути, который был нами проделан, начиная с установки и настройки Pentaho и заканчивая подготовкой таблиц данных и публикацией olap куба на сервере. Естественно, многое здесь может быть сумбурнымнеточнымнеоптимальным, но когда нам понадобилось поднять сервер и посмотреть, сможет ли Pentaho заменить нашу самописную статистику, у нас не было и такого. Я залил содержимое архива папки administration console и biserver ce в папку c Pentaho. Итак, распаковать распаковали, но сервер пока еще не сконфигурирован. Этим мы сейчас и займемся. Сравнение платформы Pentaho Enterprise и свободной версии Pentaho Community. Pentaho Инструкция' title='Pentaho Инструкция' />Закидываем его в папку c Pentahobiserver cetomcatlib. По умолчанию Pentaho использует движок HSQLDB, т. Это еще нормально для небольших таблиц таких, как демо, но для боевых данных обычно движок меняют на My. SQL или Oracle, например. Мы будем использовать My. SQL. Заливаем в My. SQL базы hibernate и quartz. Текст На Почетную Грамоту Бухгалтеру Шуточный. Обе они используется под системные нужды Pentaho. Качаем отсюда файлы 1. Импортим их в My. SQL. Теперь наш My. SQL сервер настроен как репозиторий Pentaho. Подконфигурируем Pentaho сервер для использования этого репозитория по умолчанию. Для этого будем править следующие xml ки 1. Сносим папки pentaho solutionsbi developers, pentaho solutionsplugin samples и pentaho solutionssteel wheels. Это тестовые данные, которые нам нужны в принципе не будет. Удаляем секции. Удаляем каталог data. Этот каталог содержит тестовую БД, скрипты для запуска этой БД и инициализации репозитория Pentaho. Идем в папку с нашим сервером и запускаем start pentaho. По идее, никаких ERRORов в консоли или логах томката быть уже не должно. Итак, если все прошло гладко, то по адресу localhost 8. Вводим стандартный логинпароль joepassword и попадаем внутрь. Теперь нужно установить olap клиент, который и будет, собственно, отображать наши к нему запросы. У платной версии Pentaho есть свой клиент, для CE мы использовали плагин Saiku. Заходим в пункт Pentaho Marketplace верхнего меню, устанавливаем Saiku Analytics. Тут пока вс, пришло время подготовки данных для аналитики. Подготовка таблиц фактов и измерений. Pentaho это ROLAP реализация технологии OLAP, т. Поэтому все, что нам нужно, это создать нужные таблицы. Скажу немного о предметной области, для которой нам нужна была статистика. Есть сайт, есть клиенты и есть тикеты, которые эти клиенты могут писать. Еще и с комментариями, да. И все эти тикеты наш саппорт разбивает по разным тематикам, проектам, странам. И вот нам было нужно, например, узнать, сколько тикетов по тематике Доставка пришло с каждого проекта из Германии за прошлый месяц. И все это разбить по админам, т. Про сам OLAP подробно рассказывать не стану. Будем считать, что с понятиями OLAP куба, измерений и мер читатель знаком и в общих чертах представляет себе, что это такое и с чем это едят. Конечно, реальные данные реальных клиентов я в качестве примера разбирать не буду, а для этой цели воспользуюсь своим небольшим сайтом с футбольной статистикой. Практической пользы от этого немного, но в качестве образца самое оно. Итак, есть таблица players. Попробуем найти всякую разную полезную и не очень статистику количество игроков каждой страны, количество игроков по амплуа, количество действующих игроков, количество российских полузащитников в возрасте от 3. Ну что то вроде такого А, точно, подготовка таблиц. Тут есть несколько способов воссоздать все таблицы руками и голыми SQL никами или воспользоватся утилитой Pentaho Data Integration PDI, также известная как Kettle компонент комплекса Pentaho, отвечающий за процесс извлечения, преобразования и выгрузки данных ETL. Она позволяет установить соединение с определенной БД и с помощью уймы различных инструментов подготовить нужные нам таблицы. Скачиваем е. Закидываем mysql коннектор в папку lib и запускаем PDI через Spoon. Сначала соберем сердце нашей статистики таблицу игроков. Изначально ее структура выглядит как то так CREATE TABLE IF NOT EXISTS player. NOT NULL AUTO. Поля типа Enum status, has. Откроется рабочая область задания. Переходим во вкладку View, создаем новое соединение с БД Database connections New вбиваем сервер, БД, пользователя и пароль, даем соединению какое нибудь имя у меня fbplayers и сохраняем c Pentahobiserver cepentaho solutionsjobsfbplayers. Создаем трансформацию File New Transformation, CtrlN. Сохраним ее под именем prepare. Точно так же как и с заданием job, добавляем коннект к БД для трансформации. Готово. Переходим во вкладку View и раскрываем раздел Input. Выбираем инструмент Data Grid. Он хорошо подходит, если нужно вынести какие то поля с небольшим количеством возможных вариантов в отдельные связанные таблицы. Итак, вытягиваем Data Grid в рабочую область и открываем ее для редактирования двойным кликом. Вбиваем название данного шага трансформации Player Status, начинаем задавать структуру данной таблицы вкладка Meta и сами данные вкладка Data. В структуре имеем 2 поля 1. Name status, Type String, Length 1. Во вкладке Data вбиваем 2 строки 1 active, 2 inactive. Переходим в раздел Output и вытягиваем оттуда элемент Table Output. Двойной щелчок, задаем имя элемента как Player Status Dim. Коннект должен отобразиться в следующей строчке. В поле Target Table пишем название таблицы, которая будет создана в БД для хранения статуса игроков player. Ставим чекбокс Truncate Table. Связываем входной и выходной элементы щелкаем по Player Status и с зажатой кнопкой Shift тянем мышь на Player Status Dim. Связь должна появиться в виде стрелки, соединяющей эти элементы. Такую же штуку нужно провернуть с флажком для карьеры Player Career 1. По большому счету, Pentaho позволяет использовать дату прямо в таблице фактов, изначально мы так и делали с данными нашей предметной области. Но возникло несколько проблем 1. Что не айс. Итак, по этим причинам мы переделали нашу изначальную структуру и создали таблицу со всеми уникальными значениями времени, оставив минимальным уровнем часы. Для нашего тестового примера такой детализации не будет, будут только года, месяцы и дни. Создадим новую трансформацию initial. Не забываем про коннект. Из коллекции элементов выбираем Scripting Execute SQL Script. В него пишем сборщик дат DROP TABLE IF EXISTS player. Создаем трансформацию player. Про коннект не забыли, правда Из вкладки Input кидаем Table Input, из Output Table Output соответственно. В Table Input пишем клвый SQL ник SELECT. AS player. Связываем исходную и результирующую таблицы стрелкой. Опять идем в наш job. Из вкладки General добавляем новую трансформацию. Открываем ее, даем имя Prepare Tables и указываем путь до нашей сохраненной трансформации prepare. В панели инструментов жмакаем зеленый треугольник. Если наши руки были достаточно прямы, то около каждого из наших элементов мы увидим зеленую галочку. Можно зайти на свой сервер и проверить, что таблички действительно созданы. Если что то пошло не так, то лог покажет все наши грешки. Создание куба и публикация его на сервере. Теперь, когда у нас есть подготовленные данные, займемся, наконец, и OLAP ом. Для создания olap кубов у Pentaho есть утилита Schema Workbench. Скачиваем, распаковываем, закидываем mysql коннектор в папку drivers, запускаем workbench. Сразу же заходим в меню Options Connection. Вводим наши параметры подключения к БД. Приступаем File New Schema. Сразу сохраним схему у меня fbplayers. Зададим имя схеме. Через контекстное меню схемы создаем куб. Назовем его именем сущности, статистику по которой будем считать, т. Player. Внутри куба указываем таблицу, которая будет у нас таблицей фактов player. Есть 2 способа задать измерение кубу непосредственно внутри него через Add Dimension и внутри схемы Add Dimension у схемы плюс Add Dimension Usage у самого куба. Мы в своей статистике использовали второй вариант, т.

Pentaho Инструкция
© 2017