KARTE Datahub から kintone にある顧客情報をCData Sync 経由で利用する方法

by 宮本航太 | 2022年07月25日

こんにちは、シニアプロダクトスペシャリストの宮本です。

今回は CX プラットフォームの KARTE で kintone にある顧客データを活用する方法として、KARTE Datahub が外部参照する BigQuery に kintone のデータを定期的にレプリケーションする方法をご紹介します。

  

連携シナリオ

本記事で行うシナリオは、ETL/ELTツールの CData Sync を使って kintone に格納されている顧客データをユーザー所有の BigQuery にレプリケーションし、最終的には KARTE Datahub からそのデータセットにアクセスして kintone データを利用できるようにすることをやっていきます。  

CData Sync 自体はセルフホスティング型のツールになるので、ローカルマシンやクラウド上のVMインスタンス上でもご利用いただけますが、本記事ではGoogle Compute Engine の CentOS 上にインストールしていきます。

  

KARTEとは

CX(顧客体験)プラットフォーム | KARTE(カルテ)

KARTE は Web サイトやアプリにアクセスしてきた顧客をリアルタイムに解析して
一人ひとりに最適な情報を提供することができる Web 接客が可能な CXプラットフォームです。

そしてこの KARTE と連携可能なプロダクトとして、KARTE Datahub があります。

データ蓄積と活用の分断を解消する | KARTE Datahub

機能としては、社内外に存在する多種⼤量なデータ(顧客情報・商品情報・店舗情報 等)を KARTE に統合し、より⾼度なセグメンテーションやアクションの実⾏に加えて、ビジネス上の迅速な意思決定を⽀援する「データ統合・利活⽤プラットフォーム」です。

KARTE Datahub は Google Cloud Platform を技術基盤として採用しており、Google BigQuery を中心にデータを集約していますが、参照先は KARTE で保持しているデータセットでも、KARTE ユーザーで保持している 外部のデータセットでも利用可能になっています。
そういうわけで今回は CData 側で保持しているデータセットに KARTE Datahub からアクセスするための設定部分も交えてやっていきます。

  

CData Sync とは

CData Sync は上記でも書いてあるようにセルフホスティング or AWS での提供の ETL/ELT ツールになります。

https://www.cdata.com/

同期ジョブを実行するまでのステップが少なく、エンジニアでなくても容易に SaaS データを同期先 DB にレプリケートすることができます。

それではさっそくやっていきましょう。

  

CData Sync ホスティング用のVMを作成

サイドメニューから「Compute Engine」→「VMインスタンス」をクリックします。

「インスタンスを作成」をクリックします。

今回はCentOS で使用します。

HTTP、HTTPSにチェックをつけます。

ここでは外部用の IP アドレスを設定します。
HTTP だけの利用であればデフォルト設定だけで良いのですが、HTTPS での接続の場合、インスタンスの起動停止で IP アドレスが毎回変わってしまうと接続できなくなってしまうため、ここで静的 IP アドレスを取得し、「完了ボタン」をクリックします。

ひと通り設定しましたら、画面下部にある「保存ボタン」をクリックして、インスタンスを作成します。

次に CData Sync のポートを開放します。

HTTP での接続には 8181、HTTPS での接続には 8443 を使用するようデフォルトでは設定されていますので今回はそのまま流用していきます。

ではさっそくポートの開放をしていきます。
GCP にメニューから VPCネットワーク → ファイアウォール の順にクリックします。

ファイアウォール ルールを作成をクリックします。

このファイアウォールの名前とターゲットタグを任意の名前で設定し、送信元の IP アドレスは今回は全て対象にするために 0.0.0.0/0 を設定しています。 次に、「指定したプロトコルとポート」と tcp を選択し、 8181,8443 を指定して、作成ボタンをクリックします。


今度は先ほど作成した GCE のインスタンスを編集します。ネットワークタグにファイアウォールで作成したタグ(今回はcdatasync というタグを作成)を設定します。

これで、CData Sync が使用するポートの開放設定が完了しました。

  

kintoneからBigQuery へのレプリケーション

まずは CData Sync をインストールして kintone から BigQuery へのレプリケーションしていきます。


CDataSync インストール

最初に CData Sync をダウンロードします。こちらからダウンロードページを表示してください。
自動データレプリケーション | CData Software Japan

右上に「無償トライアルへ」ボタンがありますのでクリックします。

ちなみに CData Sync は「.NET版」、「Java版」があるので、Windows OS 以外の環境でも利用可能です。
また「Amazon AMI版」もあるので最初から CDataSync がセットアップされた状態の環境を利用することも可能になっています。

では Java 版を利用して CentOS マシンにインストールしていきます。

インストールは setup.jar を実行すると開始されます。基本的にはそのまま次へで進めてしまってOKです。

これでインストールが完了です。

では、CDataSync を起動してみましょう。
インストールディレクトリに移動し、sync.jar を実行します。

以下のメッセージが表示されましたらOKです。

それでは CData Sync にアクセスします。GCE のIPアドレスと8181 ポートでアクセスします。
正常にアクセスできれば、以下のようにログイン画面が表示されますのでユーザーを作成してログインします。

  

接続設定

kintone への接続設定

最初に kintone の接続設定を行います。以下の赤枠順に進み kintone アイコンをクリックします。
※もしアイコンがない場合は青枠の「Add More」からダウンロードしてください


kintone へ接続するための情報を入力します。
詳しくはこちらをご参照ください。
kintone Connector for CData Sync - 接続の確立

入力が完了しましたら接続テストを行います。

接続に成功したら「変更を保存」で保存します。


これで kintone への接続設定が完了したので、次は BigQuery への接続設定を行います。


BigQuery への接続設定

先ほどと同手順ですが同期先タブを選択して BigQuery アイコンをクリックします。


BigQuery への接続は ユーザーアカウントかサービスアカウントのどちらかを利用します。
Google BigQuery Connector for CData Sync - 接続の確立

ユーザーアカウントの場合、プロジェクトIDとデータセットIDだけを入力して接続テストをクリックするだけでブラウザ認証画面がたちがあり、そのまま認証プロセスに入ります。

サービスアカウントの場合は、下記項目をそれぞれ埋めていきます。

  • Auth Scheme :OAuthJWT
  • Dataset Id:データセットID
  • Project Id:プロジェクトID
  • OAuth JWT Cert:JSONキーファイルのファイルパス
  • OAuth JWT Cert Type:GOOGLEJSON
  • OAuth JWT Cert Subject:*

なお、KARTE Datahub から自身の BigQuery にアクセスするにはサービスアカウントが必要になりますので、CData Sync 上の接続設定でも上記項目を埋めてサービスアカウントで行っていきます。

接続テストが完了したら保存します。

これで BigQuery のコネクション設定が完了です。

  

ジョブ作成

ヘッダーにあるジョブボタンからジョブ一覧画面を表示させ、「ジョブを作成」でジョブ名、ソース、同期先を入力・選択しましたら「作成」ボタンをクリックします。


「テーブルを追加」をクリックして「顧客管理(営業支援パック)」にチェックを入れて追加ボタンをクリックします。

追加ボタンをクリックしますと以下のような連携用クエリが作成されます。


こちらの見方は、顧客管理(営業支援パック)というテーブル名で BigQuery にテーブルを作成してレプリケーションするという意味になってます。
とは言え、BigQuery では日本語で項目名を作成することが現状では出来ないので、カラムマッピング機能でカラム名を変更していきます。

カラムマッピングタブをクリックしてカラム名を直接クリックし変更します。

最後にテーブル名を変更します。既存の状態ですと"()" が含まれているため、この状態でレプリケーションするとBigQuery 側でエラーが発生します。
そのため「カスタムクエリを記述」にチェックを入れ、()の部分を別な文字に置き換えましょう。


これでレプリケートクエリができました。

  


ジョブ実行~確認

では作成したレプリケートクエリを実行していきましょう。
実行方法は作成したクエリにチェックを入れて実行ボタンをクリックするだけです。

実行が完了すると右側に更新日時とステータスが表示されます。


ジョブが正常に終了したので BigQuery 側を参照してみると、kintone というデータセット配下に指定した名前でテーブルが作成され、中身についても kintone にあるレコードが格納されていることが確認できました。

  

スケジューリング実行

もし定期実行したい場合は「Schedule」タブにて指定することができます。


一つポイントとしては、BigQuery は主キー設定がなくレコードを蓄積していくタイプになるので、

  • 毎回ジョブ作成時に全件洗い替え方法で実行するか、
  • 連携用テーブルを用意してそこに差分データをレプリケートし、そのあと BigQuery 上でマージするか

の手段で行うことをお勧めします。
全件洗い替え方式は、ジョブオプションでテーブル削除にチェックを入れると有効になります。

  

KARTE Datahub からデータセットの共有設定

KARTE Datahub からは KARTE で作成したデータセットへのアクセスに加え、ユーザー側で保持しているデータセットにもサービスアカウントを利用してアクセスすることができるようになっています。本記事では後者の外部にあるデータセットを利用する手順を行っていきます。

KARTE Datahub のデータセットを利用したい場合

もし KARTE のデータセットへ直接レプリケーションしたい場合は、対象サービスアカウントへの共有設定を KARTE Datahubで行うことで実現可能です。  
詳細は KARTE 公式ドキュメントをご参照ください。
CData Sync(β版) (karte.io)

KARTE Datahub から外部データセットを利用したい場合

外部データセットを利用する設定を行うため、まずは KARTE の管理画面にログインします。
ログイン後、左のデータハブメニューからデータハブ→データハブ設定で進みます。

サービスアカウント管理タブからサービスアカウントを登録で外部の Googleサービスアカウントを登録します。


サービスアカウントを登録したら、あとは外部データセットの指定を行うと KARTE Datahub からでもアクセスすることができるようになります。

ではさっそく参照設定を行っていきます。
サイドメニューの KARTE Datahub メニューからデータハブ→データセットと進みます。

作成ボタンのメニューから外部のデータセットを登録をクリックします。

接続したいデータセット情報を設定します。


設定後、数分置くと KARTE Datahub から自分たちで保有するデータセットにアクセスすることができました。


KARTE Datahub 上でもクエリを実行して kintone のデータを取得することができました。


これにより KARTE で計測しているアプリや Webサイトの情報などと kintone のような SaaS データで持っているデータを掛け合わせて利用することができるようになりました。

KARTE Datahub では BI 機能も備えているのですが、対象データは KARTE で計測しているデータのみということなので、今回のように外部データを利用する場合はデータポータルで可視化する流れになります。

  

おわりに

いかがでしたでしょうか。今回は CData Sync を使って kintone から KARTE Datahub が参照できる BigQuery のデータセットにデータをレプリケーションしてみました。これにより KARTE が計測しているリアルタイムな顧客情報と kitnone が保持している情報を掛け合わせて、より最適な情報を顧客にレコメンドするといったことができるになりました。今回はデータソースに kintone を採用しましたが、他の SaaS や DB を指定しても同手順で KARTE Datahub で利用することができますので、ぜひユースケースに合ったデータソースでお試しください。  

Data Sync Apps | CData Software Japan

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。