|
Pentaho + PostgreSQL
|
|||
---|---|---|---|
#18+
Добрый день! Просьба обогатить мои знания о программе Pentaho. Есть сервер Linux, на котором развернута база PostgreSQL, и источник данных MS SQL Server. Я выбрал программу Pentaho для организации ETL -загрузки данных на сервер. В моем понимании Pentaho будет конектиться к MS SQL серверу, выгружать и передавать их на сервер PostgreSQL. Есть опыт разработки MS Server + SSIS, но сейчас переходим на Pentaho + Postgres. Вот в деталях я начинаю путаться. На сервере Linux есть только консоль, без визуальной оболочке. Могу я локально на компьютере разрабатывать пакеты, далее публиковать их на сервере? Как это делать грамотно? Может быть есть статьи и ссылки, с примером организации подобных процессов? Заранее благодарю! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2020, 12:53 |
|
Pentaho + PostgreSQL
|
|||
---|---|---|---|
#18+
VinniL, Pentaho, MS SQL и PostgreSQL это три разных программы. На сколько мне известно Pentaho все равно к какой СУРБД подключаться, главное, чтобы JDBC драйвера были. Так что ваша задача настроит на Pentaho хранилище (PostgreSQL), источник данных (MS SQL). И написать правила по загрузки данных в харнилище из источника данных. Правила, на сколько я понимаю рисуются в самом Pentaho. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2020, 13:50 |
|
Pentaho + PostgreSQL
|
|||
---|---|---|---|
#18+
mad_nazgul, согласен. Есть источник (MS SQL Server), далее инструмент input/output (Pentaho) и приемник (PostgreSQL). В программе Pentaho написать алгоритм (пакет), который по расписанию забирает из источника и передает в приемник. Как мне развернуть этот проект на сервере Linux и настроить расписание? И через какой интерфейс делать разработку? Умные люди заимствуют идеи, гениальный тырят идею полностью. Вот мне интересно, кто это уже делал и как) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2020, 14:06 |
|
Pentaho + PostgreSQL
|
|||
---|---|---|---|
#18+
VinniL, С Pentaho не работал. ИМХО вам стоит все таки по нему прочитать документацию. Т.к. в нем есть ETL, то скорее всего инструменты для периодической загрузки данных есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2020, 15:27 |
|
Pentaho + PostgreSQL
|
|||
---|---|---|---|
#18+
VinniL Как мне развернуть этот проект на сервере Linux и настроить расписание? И через какой интерфейс делать разработку? Умные люди заимствуют идеи, гениальный тырят идею полностью. Вот мне интересно, кто это уже делал и как) Насколько я понял вы хотите, чтобы вас ткнули носом в инструкцию по установке и настройке Pentaho? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2020, 09:15 |
|
Pentaho + PostgreSQL
|
|||
---|---|---|---|
#18+
Pentaho я установил на Windows, затем установил на Postgres. Пакеты создал и смог перенести. Вопрос, чем будет отличаться от сервер версии и как управлять процессом без графического интерфейса? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2020, 16:05 |
|
Pentaho + PostgreSQL
|
|||
---|---|---|---|
#18+
VinniL, Нет такого вопроса. Есть вопрос ознакомления с документацией (а также есть книги). На сервере (ящик с кнопками) с Linux устанавливается Postgresql, к нему полезное дополнение pgAdmin4 (оно доступно с клиентских компьютеров через веб-интерфейс). Устанавливается Oracle JDK 8. устанавливается программа Pentaho Server. Она и будет выполнять процессы преобразования данных(в Pentaho они называются Job и Transformation), например из MS SQL в Postgresql. Pentaho Server по умолчанию для своей работы использует встроенную СУБД HSQLDB. Для начала, можно согласиться, но для большей производительности и надёжности надо бы настроить Pentaho Server на использование Postgresql. Инструкция есть, но там много шагов редактирования настроек, так что нужна внимательность. База Postgresql для настроек Pentaho - не та же самая, какую вы будете использовать для своих данных. Также устанавливаете на этот сервер компонент Pentaho Data Integration (PDI). В Pentaho Server и PDI добавляете JDBC драйвера MS SQL и Postgresql. На клиентский компьютер устанавливаете Oracle JDK 8 и PDI. В нём есть командный файл Spoon.bat (и spoon.sh для Linux), который запускает визуальный редактор процессов PDI. Нарисовав в нём и отладив процесс преобразования данных, его можно из Spoon экспортировать на сервер Pentaho. Кроме того, моно установить компонент Pentaho Reporting для отчётов, которые например можно создавать в качестве шага процесса преобразования данных и посылать по почте. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2020, 10:52 |
|
Pentaho + PostgreSQL
|
|||
---|---|---|---|
#18+
Супер! Partisan M, мои благодарности за развернутый ответ. То, что нужнО! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 11:34 |
|
Pentaho + PostgreSQL
|
|||
---|---|---|---|
#18+
VinniL Супер! Partisan M, мои благодарности за развернутый ответ. То, что нужнО! Partisan M, садись! 5! VinniL, садись! 2! В следующий раз с родителями приходи, будем разбираться почему ты не открываешь инструкции ) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 12:02 |
|
Pentaho + PostgreSQL
|
|||
---|---|---|---|
#18+
Раз уж начал объяснять, то дообъясняю, что нужно для начала работы. Про Pentaho 1) Сервер Pentaho (компонент pentaho-server) Необязателен для выполнения процессов PDI. Нужен для коллективной работы с разных ПК, использования дополнительных компонентов (открыв административную консоль сервера, найти там Pentaho Marketplace и посмотреть, какие вообще есть компоненты. Например, я для показа динамических отчётов использую Saiku Plugin). Но для разовой задачи, например копирования данных из одной базы в другую, можно обойтись без сервера, одним PDI. 2) Интеграционные процессы в PDI. Бывают двух видов: Job (задание) и Transformation (преобразование). Сначала может быть трудно понять, зачем два вида. В интеграционной задаче PDI надо иметь минимально одно «преобразование». «Задание» служит для вызова одного или многих преобразований, но в простом случае без него можно обойтись. То есть, начать проектирование с одного преобразования, а потом добавить задание. Задание описывает последовательные этапы интеграции, если есть: запуск по расписанию, проверку существования нужных файлов и папок, проверку наличия связи с базами данных, задание начальных параметров работы. Когда все условия для работы выполнены, можно из задания вызвать преобразование (или, если условия не выполнены, то например послать администратору письмо с жалобой). Примечание. Запуск по расписанию и задание параметров можно сделать и другими способами. Поскольку Job (задание) описывает этапы интеграции, все его шаги (Job Entry) выполняются последовательно, начиная с шага Start. Тransformation (преобразование) описывает операции с данными: чтение таблицы или файла, фильтрация (отбор данных по условиям), изменение формата данных, запись результата в таблицы или файлы. Шаги преобразования (называются step) запускаются одновременно и работают параллельно. Если шаги соединены стрелкой, показывающей их последовательность, то второй шаг запустится одновременно с первым, но будет ждать поступления данных от него. Параллельное выполнение шагов преобразования позволяет например на входе сделать несколько (не связанных стрелками) шагов Table Input (чтение данных из таблицы базы), каждый из которых будет читать данные из своей таблицы, что вообще говоря повышает производительность. Внутри Transformation данные представляются набором (dataset), состоящим из строк данных (data rows), состоящими из полей. Например, прочитанная строка таблицы будет строкой набора. Строки данных можно объединять (по ключу — шаг Merge Join), сортировать, разделять по условиям и фильтровать (отбирать нужные). В шагах можно использовать, создавать (для других шагов) и изменять переменные. Например, имя таблицы, кодировка файла, имя папки и подобное. Надо избегать явного указания значений, а по возможности использовать переменные и параметры. Из Transformation можно вызвать Job, что позволяет разделить интеграцию на иерархические подзадачи. При выводе результата в таблицу базы PDI предлагает SQL-команду создания таблицы, если её нет. Эту команду можно отредктировать, заменяя типы данных на нравящиеся. Например, Date можно замениить Varchar на text, Numeric на integer (всё это — типы, специфические для PostgreSQL). В составе PDI есть примеры Job-ов (файлы *.kjb) и Transformation-ов (файлы *.ktr), надо ознакомиться, открыв их схемы из Spoon. 3) Создав интеграцию в Spoon, её можно потом запускать в командной строке. Для этого в PDI есть командные файлы Kitchen.bat, kithen.sh (запуск Job-а) и Pan.bat, pan.sh (запуск Transformation). Ещё способ запуска интеграции — из отчёта Pentaho Reporting. В генераторе отчётов Pentaho Reporting обычно используется база данных в качестве их источника. Но можно задать и процесс PDI. В этом случае при вызове отчёта (поместить его на сервер Pentaho) будет вызван процесс PDI, по завершении которого будет выдан отчёт а в отчёте можно или использовать созданные им данные, или показать сводку — успех или неудача работы, сколько рядов данных прочитано, время работы, в общем что угодно, но необязательно содержание таблиц. 4) Если готовых видов шагов преобразования не хватает, то можно запрограммировать свои на JavaScript (используется интерпретатор Rhino. Шаг типа Modified Javascript Value) или Java (код задаётся в шаге типа User defined Java Class). Например, чтение из базы поля типа BLOB и преобразование в текст (в PostgreSQL есть универсальный тип text длиной до 2ГБ) удобно сделать в нескольких строках на Java (но можно и без программирования). При умении программировать на Java можно добавить свои типы шагов. 5) Литература. Я купил в электронном виде все книги по Pentaho. Их есть несколько у издательства Packt. Про PDI там есть книга: Learning Pentaho Data Integration 8 CE Вообще-то, в интернете и так есть всё, что там написано, но там понятное изложение. 6) Почему PDI. Всегда надо рассматривать разные варианты решения, чтобы выбрать лучший. Узнав от одного хмыря (ХМ) о существовании PDI, я сделал поиск — какие ещё есть интеграционные программы типа ETL. Нашёл Talend Open Studio (TOS). Оно заинтересовало тем, что бесплатный вариант вполне пригоден для работы и есть хорошая документация. Оказалось, что ХМ и не знал о существовании TOS. Прочитав несколько статей со сравнением, я не понял, что лучше, и сделал простые примеры процессов в обоих. Мне показалось, что PDI проще для первоначального ознакомления, поэтому я из-за лени и стал его использовать. Что не исключает использования в будущем TOS или другого. Надо самостоятельно узнавать, какие программы ETL есть, и самостоятельно выбирать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 21:01 |
|
Pentaho + PostgreSQL
|
|||
---|---|---|---|
#18+
Partisan M, это ахренеть как мощно и круто написано! Аж глаза разбегаются. Моя уважением и огромная благодарность! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2020, 11:34 |
|
Pentaho + PostgreSQL
|
|||
---|---|---|---|
#18+
Надо настроить репозиторий в сети у меня например в postgresql и потом джобы и трансформации можно создавать, редактировать и запускать с любой машины лишь бы pentaho di был установлен ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2020, 06:27 |
|
|
start [/forum/topic.php?fid=33&msg=39921417&tid=1547078]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
78ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 307ms |
total: | 465ms |
0 / 0 |