clock2015.06.25 15:07
SERVICE
home

Power BI Desinger(Preview版)からAmazon Redshiftへの接続の不具合について(2015/7/24現在)

AUTHOR :   ギックス

現時点では、Power BI DesignerとAmazon Redshiftの接続には制限があるが、今後の改良に期待

こんにちは、分析チームの萩原です。下記の連載記事において、Power BI DesignerからAmazon Redshiftに接続する方法として、以下の2つを紹介しました。

  1. 組み込みのPostgreSQLコネクタを使用して接続する方法(連載第4回
  2. ODBC経由で接続する方法(連載第5回

1の方法では、エラーが発生して接続できなかったため、Microsoftに問合せました。また、2の方法では、比較的少ないデータ量だと接続できましたが、データ量が増えるとデータのロードが失敗したため、こちらも問い合わせました。なお、問い合わせはPower BIのフォーラムから投稿しました。

本記事では、これらの問合せに対するご回答と、対応した結果を紹介いたします。

2015/7/29 追記

2015/7/24に新バージョンのPower BIがリリースされました(新バージョンのPower BIの詳細についてはコチラ)。リリースに伴い、Power BI Designerは、Power BI Desktopにリニューアルされました。

リニューアルに伴い、不具合が解消されたのかを検証した結果を記事に追記いたします。

PostgreSQLコネクタで接続できない原因は、Npgsqlの不具合の可能性が高い

Power BI DesignerのPostgreSQLコネクタを使用してRedshiftに接続(上記1の方法)しようとすると、『permission denied to set parameter “lc_monetary” to “C”』というエラーが発生します。

20150622_PowerBI_blog_1

Ngpsqlのバージョンを2.5.5にアップグレードしてみたが、解決しなかった

Microsoftからのご回答に従い、Ngpsqlのバージョンをv_2.5.5にアップグレードしてみましたが、接続できるようにはなりませんでした。(なお、Ngpsqlのアップグレードの影響かわかりませんが、アップデート直後にOSが壊れてリカバリすることになりました。アップグレードされる際にはご注意ください)

最終的には、Microsoftからは『Ngpsqlが原因でRedshiftに接続できないのではないか』というご回答をいただきました。MicrosoftはNgpsqlのバグ(?)だと認識したようです。Ngpsqlがアップデートされたら、検証結果を当ブログで紹介いたします。

I believe that there’s a compatibility issue with Npgsql that prevents it from connecting to Redshift. Unfortunately, unless Npgsql is fixed for this, it seems like there’s no work around using our built-in connector.

Npgsqlの制約チェックがRedshiftの仕様に未対応?(2015/7/29 追記)

検証用の環境に、NgpsqlのページからSetup_Npgsql-2.2.5.0-r3-net45.exeをインストールし、Power BI Desktopをインストールしました(なお、今回はWindowsのクラッシュは発生しませんでした)。その後、組み込みのPostgreSQLコネクタを使用して接続したところ、テーブルのリストは取得できましたが、分析対象にしたいテーブルを選択したところ、下図のようなエラーが発生しました。

20150729_psql_01

Redshift側のテーブルでは制約違反のレコードが存在していないことを確認したので、Ngpsqlにおけるテーブル制約のチェックがRedshiftの仕様に対応できていないのではないかと考えられます。今後、Ngpsqlのバージョンが更新されたら、再度チャレンジしてみようと思います。

ODBC経由で接続し、データ量が多い場合に、データロードが失敗する原因は調査中

ODBC経由でRedshiftに接続(上記2の方法)し、5000万行×35カラムのデータを取り込もうとしたところ、1時間程度かかりましたが、Queryタブにデータが表示されました。次に、Reportタブに移動してレポートを作成しようとしましたが、再度データのロードが始まり、しばらくすると『There are new or modified queries that haven’t been loaded.』というエラーメッセージが出ました。

20150622_PowerBI_blog_2

なお、Loadボタンを押しても、同じ現象が何度も繰り返されるだけでした。

Power BI DesignerのTraceファイルを送付し、原因を調査中です

Microsoftからのご依頼に従って、Power BI DesignerのTraceファイルに送付したところ、とても喜んでいただけました。あるとないとでは、原因解明にかかる時間が少なくなるようですので、皆様もMicrosoftに問い合わせる際はTraceファイルを添付してみてください。

なお、以下の手順でTraceファイルを出力するように設定できます。

1.ファイル→Options and settings→Options からオプションを開きます。

20150622_PowerBI_blog_3

2.Diagnosticsタブを開き、『Enable Power BI Designer Preview tracing』にチェックを入れます。なお、『Open trace folder』をクリックすると、Traceファイルの保存先ディレクトリを開くことができます。

20150622_PowerBI_blog_4

現在、Microsoftがエラーの発生原因について、Traceファイルをもとに調査をしている段階ですので、進展がありましたら、当ブログにて紹介いたします。

データ量の多いテーブルのロードには膨大なメモリが必要(2015/7/29 追記)

検証環境に、PostgreSQLの64bit版のODBCドライバをインストール後、ODBC経由でRedshiftに接続したところ、テーブルのロード中に下記のエラーが発生しました。

20150729_odbc

32GBのメモリを積んだ検証環境において、64bit版のPower BI Desktopから接続したにも関わらず、約1200万行×24カラムのデータのロードに必要なメモリには足りないようです。Power BIでデータを分析する際には、ある程度の集計を実施したデータを対象とするか、大量のメモリを積んだ環境で分析したほうがよさそうです。

Power BIのフォーラムから不具合をMicrosoftに伝えよう

Power BI DesignerはまだPreview版ですので、使用してみて不具合や改善要望に気づくことは多いと思います。もし、不具合や改善要望を抱いた場合は積極的にPower BIのフォーラムに投稿しましょう。フォーラムへの投稿後の対応やメールの返答も迅速で、MicrosoftのPower BIに対する本気度をうかがい知ることができました。

なお、Power BIのフォーラムから問い合わる際にはファイルを添付することができませんが、すぐにMicrosoftからメールで連絡があり、それ以後はメールのやり取りになりました。Traceファイルがある場合は、メールでの連絡がきた後で送付するとよいと思います。

【Microsoft Power BI関連の掲載記事】

 


萩原 亮(はぎはら りょう)

金融業勘定システム・流通業管理会計システム・ゲームログ集約/分析システムなどの構築・運用や、SNS/ゲームログの分析を経験し、現職。現在はBusiness Analyticsチームの一員として、データを可視化してアブダクションする業務に従事。今、興味をもっているツールはTableauとPower BI。お気に入りのAWSのサービスはRedshift。

SERVICE