2015年8月アーカイブ

REST-APIでの【ユーザのパスワード変更】
のサンプルを作成致しました。


以下弊社のポータルサイトより、サンプルをダウロード頂くことが可能です。




ポータルサイトからダウンロード頂けない場合は、
こちらよりお問い合わせ下さい。


よろしければぜひお試し下さい。

★Have a nice open source day★
KSK Analytics Pentaho Team

Report Designerにてパラメータを使用したレポート
のサンプルを作成致しました。


以下弊社のポータルサイトより、サンプルをダウロード頂くことが可能です。




ポータルサイトからダウンロード頂けない場合は、
こちらよりお問い合わせ下さい。



よろしければぜひお試し下さい。

★Have a nice open source day★
KSK Analytics Pentaho Team

前回はビルドツールantを利用してビルドする方法をご紹介しました。
今回は、IDEを使ってビルドする方法をご紹介します。

IDEは、IntelliJ IDEAのCommunity Editionを利用します。
Eclipseも使えますが、今回はよりデバッグがしやすいと思われる、IntelliJ IDEAを使っていきます。

まずはダウンロードから。
https://www.jetbrains.com/idea/


「Get IntelliJ IDEA Now」のボタンをクリックしてダウンロードのページに移動し、
「Download Community」をクリックします。
使用しているOSに合わせて、ソフトウェアがダウンロードされます。

今回はWindows上で作業を行っていきます。
ダウンロードした「ideaIC-14.1.4.exe」をダブルクリックして、インストールを実行してください。インストール終了後、IntelliJを起動します。
image004.png


Pentahoの開発では、ライブラリの依存関係を管理するツールとして、Apache Ivyが使われています。IntelliJでもプラグインが用意されています。

https://plugins.jetbrains.com/plugin/3612
こちらのサイトから、バージョン 1.0.11をダウンロードしておきます。


IntelliJから、IvyIDEAプラグインをインストールします。
「Install plugin from disk」のボタンをクリックして、指示に従います。
IntelliJの再起動が必要です。


今回も、GitHubのサイトからソースコードをダウンロードします。
https://github.com/pentaho/pentaho-kettle
で、ブランチを最新リリースの「5.4.0.3」に変更して、画面右側の「Download ZIP」でダウンロードして、解凍します。(ソースコード管理が無い状態のフォルダができます)

ソースコードの中に「kettle.ipr」という、IntelliJ用のプロジェクトファイルが同梱されていますので、これをIntelliJから開きます。(ダブルクリックしても開けるかと思います)

私の環境ですと、Project SDKの設定が必要でした。


画面上に下記のメッセージが表示されているので、
Frameworks detected: IvyIDEA framework is detected in the project Configure

「Configure」のリンクをクリックすると、IvyIDEAの設定画面になります。
自動的に基本の設定が行われているので、OKボタンをクリックします。

続いて、各プロジェクトで追加の設定を行います。
      - settings (ivysettings.xml)
      - Properties (build.properties)

続いて、モジュールの依存関係の設定を追加します。
   Engine-> Core
   DB Dialog -> Engine, Core
   UI -> DB Dialog, Engine, Core

メニューから [Tools]-[IvyIDEA]-[Resolve for all modules] を選択して依存関係の解決をします。(※かなり時間がかかります)
無事リゾルブが終わったら、プロジェクトのビルドを行います。

メニューから [Build]-[Make Project]を選択します。
これも無事に終了したら、いよいよビルドしたソフトウェアを実行してみます。

まず、[Run]-[Edit Configurations] を選択して、Run設定を追加します。
下記の内容で、Run設定を追加します。

Runします。
下記のエラーになります。


swt.jarを依存関係に追加します。

ユーザのホームディレクトリにある、.ivy2フォルダを検索して、swtlibsファイルを見つけます。これを解凍してできるファイル、
swtlibs-4.3.2¥libswt¥win64¥swt.jar
を追加します。


再度、Runします。
PDIが起動しました。(実際はもう少し細かな設定が必要となります)



今回は以上になりますが、次回、ビルドに関する補足事項をご紹介したいと思います。
不明な点がありましたら、Pentahoフォーラムの日本語のスレッドでご質問いただけたら、
可能な範囲で対応させていただきます。
http://forums.pentaho.com/forumdisplay.php?86

それでは皆様もぜひぜひお試しください。

PDIでHadoopと連携する方法

|
PDIでせHadoop(Hive)データベースに接続させる方法を紹介いたします。

①PDIでは接続にJDBCドライバーが必要になりますので、各バージョンに対応しているJDBCドライバーをpentaho/data-integration/libの中に格納してください。
(例:Cloudera Hadoop5.3.3を使用し、かつHiveの0.13.1を使用している場合、
hive-jdbc-0.13.1-cdh5.3.3.jarファイルを格納する)
②次に、data-integration/plugin/petaho-bigdata-pluginの中にある、plugin.propertiesファイルを開き、
その中のactive.hadoop.configration=hadoop-20の部分をご使用のHadoopのバージョン等に変更してください。
(例:Cloudera Hadoop5.3.3を使用している場合、active.hadoop.configration=cdh53
Apache Hadoop2.4を使用している場合、active.hadoop.configration=hadoop-24)


plugin.properties1-2.png

plugin.properties1-1.png





③この状態でSpoonを開き、ウィザードからデータベース新規接続をクリックしてください。

④データソース名を入力し、、接続可能なデータベースにHadoop HiveまたはHadoop Hive2を選択して、ドライバ・タイプにはJDBCを選択してください。
(Hiveserverを設定している場合はHadoop Hive、Hiveserver2を設定している場合はHadoop Hive2を選択してください)

⑥サーバー名、ポート番号、データベース名の入力を行ってください。
(Hiveポート番号のデフォルトは10000です)

⑦ユーザー名とパスワードを入力し、テスト接続ボタンを押してください。






REST-APIでの【ユーザへ割り当てられているロールの解除】
のサンプルを作成致しました。


以下弊社のポータルサイトより、サンプルをダウロード頂くことが可能です。




ポータルサイトからダウンロード頂けない場合は、
こちらよりお問い合わせ下さい。


よろしければぜひお試し下さい。

★Have a nice open source day★
KSK Analytics Pentaho Team

お盆も過ぎて、少し涼しくなったようですがいかがお過ごしでしょうか。

今回はPentahoブログの「夏休み・自由研究編」として、Pentaho Data Integration(PDI:ETLツール)を、ソースコードからビルドする方法をご紹介します。

方法は大きく分けて次の2つがあります。

1) ビルドツールantを利用する方法
2) 統合開発環境(IDE)を利用する方法

今回は、1)のビルドツールを利用する方法をご紹介します。

まずはGitHubのサイトからソースコードをダウンロードします。
https://github.com/pentaho/pentaho-kettle
で、ブランチを最新リリースの「5.4」に変更して、画面右側の「Download ZIP」でダウンロードして、解凍します。
(ソースコード管理が無い状態のフォルダができます)

README.txtファイルを参照します。内容は、
pentaho-kettleフォルダに移動して、下記のantコマンドを実行します。(環境としては、Linuxで、antコマンドをインストールしておいてください)
$ ant clean-all resolve create-dot-classpath

その後、
Linux example:        
         $ ant dist
         $ cd dist
         $ sh spoon.sh
で、うまく行けばSpoonが起動します。
Windowsの場合はSpoon.batファイルをダブルクリックします。

clean-all: 不要ファイル削除
resolve: 依存するライブラリを取得 ※初回は非常に時間がかかります
create-dot-classpath: クラスパス作成

dist: 配布物作成のために必要なビルド一式を実行
です。

$ ant test
で、単体テストのみ実行、です。

次回は、IDEを使ってビルドする方法をご紹介する予定です。

pentaho.logを追記型に変更する方法

|
PentahoのBAサーバーならびにDIサーバーには中でどのような処理、実行がされたかを記録するpentaho.logという機能がPentaho/server/biserver-ee/logsの中ならびにPentaho/server/data-integration-server/logの中にあります。

このlogはサーバーを使用するたびにそのログが作成され、次の日になると、
pentaho.log.2015-08-17というようにpentaho.logに日付がついたファイル名で保存されます。

しかしながら、このpentaho.logは日の途中でサーバーを再起動した場合はその日の再起動前までのログは消えるようになっています。
例:2015年8月17日の14時にDIサーバーを再起動した場合、その日の14時までのDIサーバーのログはなくなり、14時1分から新たにログが作成されます。

こういった再起動によってその日のそれまでのログがなくなるといった機能は変更することができます。
その方法は
①BAまたはDIサーバーを停止してください(変更したいサーバーのみ)

②Pentaho/server/data-integration-server/tomcat/webapps/pentaho-di/WEB-INF/classesまたは、Pentaho/server/biserver-ee/tomcat/webapps/pentaho-di/WEB-INF/classesの中にあるlog4j.xmlファイルを開きます。

③log4j.xmlの中で、<param name="Append" value="false"/>という部分がありますので、
こちらを<param name="Append" value="true"/>に変更してください。

④BAまたはDIサーバーを再起動させてください。

以上の方法をしていただくと、サーバーを再起動してもその日のpentaho.logが残ったまま追記されていきます。




先日のDIサーバの文字化けの修正に続き、PDIの日本語に関する課題の解決を行っております。

「変数設定」ジョブエントリでは、外部のプロパティファイルから変数設定の読み込みを行うことができます。

これまでは、Javaの古い制限の影響で、プロパティファイルを日本語で直接記述することができませんでした。(Javaに付属のnative2asciiコマンドで、数値文字参照形式にエンコードする必要がありました)

ヨーロッパの言語ですと、数値文字参照に変換されるのは、ウムラウト付きの文字だったり、最小限にとどまっているのに対し、日本語では、アルファベットを除くすべての文字が数値文字参照に変換されてしまい、そのままでは何が書いてあるのか、まったくわからない状態でした。この制限が、PDIを便利に利用する上で、大きな障害になっていました。

この度弊社では、プロパティファイルをUTF8で記述することができるよう、PDIのコードの修正を行い、開発チームによりPDI本体のコードにマージされました。

Reading properties file without native2ascii in SetVariables JobEntry
https://github.com/pentaho/pentaho-kettle/pull/1608

この修正も、Pentahoの次回リリースに追加される見込みです。

皆様もご存知の通り、PentahoはGitHubで開発が行われています。特に、ETLツールのPDI(Pentaho Data Integration、通称:Kettle)は、活発に開発が行われています。現在は、Pentahoの次期バージョン Pentaho 6 に向けた開発が進められています。

Pulse - pentaho/pentaho-kettle : July 6, 2015 - August 6, 2015
https://github.com/pentaho/pentaho-kettle/pulse/monthly

先日、このブログでDIサーバの文字化けに関する記事が掲載されました。

DIをブラウザで開いた際に発生する文字化け解消方法
http://www.pentaho-partner.jp/blog/2015/07/di-1.html

弊社では、このような日本語の不具合に対する対応を進めておりまして、先日、この不具合の修正コードをプルリクエストし、開発チームによってPDI本体のコードにマージされました。

fixed Japanese garbled page #1600
https://github.com/pentaho/pentaho-kettle/pull/1600

この不具合は、Pentahoの次回リリースで修正される見込みです。

Pentahoは作成したレポートなどのコンテンツをリポジトリに格納します。

コンテンツがすべてDB(標準では、Postgresql)に保存されているので、システムの移行の際は、このDB内のデータを移行してあげることで、作業が完了します。(個別のレポートファイルを移行する必要はありません)

Pentahoリポジトリは、次の3つのDBで構成されます。3つのDBは、BAサーバ、DIサーバの2系統でそれぞれ保持されるので、全部で3×2=6、の6つのDBが存在します。

BAのデータベース:jackrabbit、hibernate、quartz
DIのデータベース:di_jackrabbit、di_hibernate、di_quartz

3種類のDBのDBユーザは、jcr_user(jackrabbit)、hibuser(hibernate)、pentaho_user(quartz)に設定されています。

それぞれのDBの役割は、
・ Jackrabbit はソリューションリポジトリー、サンプル、セキュリティデータ(ユーザ、ロール)、Pentahoソフトウェアで作成したレポートのコンテンツデータを格納します。

・ Quartz はレポートとジョブのスケジューリングに関するデータを保持します。

・ Hibernate は監査ログに関するデータを保持します。

リポジトリの構成がわからなくなったときは、この記事を思い出して参照してみてください。

Pentahoにてkitchenやpanを実行する際、どのジョブ(トランスフォーメーション)を実行するのか、レポジトリ内のファイルを使用するのか、どこのディレクトリにあるファイルかを指定しなければ実行されません。
そこで、kitchenやpanを実行時に使用するオプションの書き方について説明します。

よく使用されるであろうオプションは以下の通りになります。
rep→リポジトリ名を指定するオプションです。リポジトリ内のジョブまたはトランスフォーメーションを使用する際に使われます。
usr、pass→repオプションを使用する際に使われます。。指定したリポジトリのユーザー名とパスワードを指定します。
job、trans→リポジトリ内の指定されたディレクトリ内にある実行したいジョブまたはトランスフォーメーション名を指定します。
dir→ディレクトリの指定するオプションです。使用したいジョブやトランスフォーメーションがどのディレクトリにあるか知らせます。
file→リポジトリに接続せずローカルにあるkjbまたはktrファイルを実行するときにファイルを指定します。
使用方法:
windowsの場合→kitchen.batまたはpan.batを実行します。
この時、オプションは /<オプション名>:<オプション内容>となります。

例:panでローカルのtest.ktrファイルを使用する時
pan.bat /file:test.ktr
     kitchenでリポジトリに接続し、test.kjbファイルを実行する時
kitchen.bat /rep:test /dir:home/admin /usr:admin /pass:password /job:test

macまたはlinuxの場合→kitchen.shまたはpan.shファイルを実行します。
この時、オプションは-<オプション名>=<オプション内容>となります。

例:panでkitchenでリポジトリに接続し、test.ktrファイルを実行する時
./pan.sh -rep=test -dir=/home/admin -usr=admin -pass=password -job=test
     kitchenでローカルのtest.kjbファイルを使用する時
./kitchen.sh -file=test

いかがでしたでしょうか。
詳しくはDIユーザーガイドの75-77ページにも記載しておりますので、
ご興味のある方はぜひご参照ください。



【FAQまとめ】2015年7月に作成

|
以下、2015年7月に作成したFAQまとめです。





サンプルなどポータルサイトからダウンロード頂けない場合は、
こちらよりお問い合わせ下さい。


よろしければぜひお試し下さい。

★Have a nice open source day★
KSK Analytics Pentaho Team

2015年12月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31