見出し画像

Tableau 2020.4でついにPostgreSQL12系対応がされたので早速設定してきた

SalesforceにTableauが買収されて早くも一年半が経ちました。

Dreamforce2019では非常にワクワクしたのを覚えています。

TableauにはSalesforceのネイティブコネクタが搭載され、標準データセットというセットアップまでなされているのでSalesforceのデータをTableauで可視化したいという人にとっては嬉しい悲鳴だったのではないでしょうか。

さて、SalesforceといえばHerokuです(言い過ぎ)。HerokuといえばPostgreSQLなのですが、Tableauのデータドライバは現在のPostgreSQLに対応していませんでした。そのためJDBC接続する必要があり、パフォーマンス的には出ませんね…という状況が長らく続いていたのです。

そんなTableauが、2020.4でついにPostgreSQL12系に対応したぞーーー!!

と、言うことで早速試してみました。

アップデートする:Tableau Desktop

Tableau Desktopのインストーラーはこちら。ダウンロードしてインストールするだけです。
https://www.tableau.com/support/releases/desktop/2020.4

ちなみに、M1チップのMacにはインストーラーが対応しておらずエラーが出ます。

これについては、Intel MacにインストールしたアプリケーションをAirDropで転送かければ使えます。

アップグレードする:Tableau Server

アップグレード方法はこちらを参照して下さい

注:AWSへのインストールになっているのでユーザ名がcentosになっていますが、sudoが使えるユーザであればどれを使っても良いと思います。

rpmパッケージのダウンロードはここから。

https://www.tableau.com/ja-jp/support/releases/server/2020.4

Tableau DesktopでPostgreSQL接続を使ってみる

PostgreSQL_と_Tableau_-_ブック1

画面は2020.3以前とさほど変わりませんね。こちらで接続設定をしてみましょう。2020.3でPostgreSQL12系に接続すると以下のように怒られます。

画像2

2020.4にすることでこれが解消し、無事に接続することが出来ました素晴らしい!250万行くらいあるデータベースに接続してみましたが、問題なく動きました。ありがたいですね。

Tableau ServerでPostgreSQLを使ってみる

ドライバーのページを見てみましょう。

https://www.tableau.com/ja-jp/support/drivers

データソースPostgreSQL、OSをLinuxにすると…

ドライバーのダウンロード

2020.4にはデフォルトでドライバがインストール済みだそうです。ということで、早速接続。

編集___新しいワークブック

出来た!

ただ、行数が多いとタイムアウトしてしまうかもしれない。サーバの設定の問題だと思うので要検証です。

Tableau DesktopからTableau Serverにパブリッシュする

私のやり方では、Tableau Serverでいきなり作り始めるということは普段しないので、こちらのやり方が日常です。こちらはうまくいくでしょうか。

Tableau Desktopに抽出済みの250万行のデータセットをパブリッシュしてみました。こちらについては問題なくアップロードできました。

次にワークブックをパブリッシュ。こちらも問題なくできました。表示も問題なさそうです。

最後に、パブリッシュした抽出を更新してみました。

こちらはエラーになりましたね。(2020/12/16現在)
ということで、ヘルプにケースをあげて待機しています。

2020.12.25追記:解決しました

解決方法

Tableau Serverの使用しているpostgresqlのjdbcドライバーを「/opt/tableau/tableau_driver/jdbc/」配下に(ディレクトリがなければ作成した上で)コピーして再起動する

$ mkdir -p /opt/tableau/tableau_driver/jdbc
$ cp /opt/tableau/tableau_server/packages/tabadmincontroller.20204.20.1116.1810/postgresql-42.2.11.jar /opt/tableau/tableau_driver/jdbc/
$ tsm restart

これでTableau Server上でのPostgreSQL12系への同期も問題なく通るようになりました。よかったー!

2020/12/16現在の状況

Tableau DesktopにおけるPostgreSQL利用について:問題なし

Tableau ServerにおけるPostgreSQL利用について
・Desktopからのパブリッシュについては問題なし
・Server側でデータの更新をかけるとコケる

2020/12/25現在の状況

Tableau DesktopにおけるPostgreSQL利用について:問題なし

Tableau ServerにおけるPostgreSQL利用について
・Desktopからのパブリッシュについては問題なし
・Server側でデータの更新も問題なし

現場からは以上です

noteにはこれまでの経験を綴っていこうかと思います。サポートによって思い出すモチベーションが上がるかもしれない。いや、上がるはずです。