Fivetranで(RDS)PostgreSQLから(AWS)Databricksへデータを同期してみた - ①Destination登録 編

Fivetranは、様々なデータソース（各種SaaSアプリやDBなど）から、クラウド型DWHを中心としたデータ分析基盤へ、データ同期を自動化させることができるツールです。

最短5分のセットアップでデータパイプラインを構築することができ、それ以降のデータ同期を自動してくれるとのこと。

今回は、このFivetranを使用して(RDS)PostgreSQLから(AWS)Databricksへのパイプラインを構築し、データ同期を行ってみました。

# 全体の流れ
やってみたところ、少し長くなってしまったので分割してまとめています。
（SaaSアプリをデータソースとする場合ならそこまでかからなかったと思うのですが、今回はDBをデータソースとしたため、特に2.のコネクター作成で必要な手順が多かった印象です）

1. 同期先((AWS)Databricks)を登録します　※この記事です
2. <a href="https://qiita.com/ny94/items/103f6fb892afc5bdf58d">データソース((RDS)PostgreSQL)のコネクターを作成します</a>
3. 同期内容を確認してみます　※作成中


# 前提
Fivetran、(RDS)PostgreSQL、(AWS)Databricksの環境は既存のものを使用しています。
そのため、環境構築については特に触れずに始まります。

# 同期先((AWS)Databricks)を登録します
まず初めに同期先となるDatabricksとの連携を登録していきます。
同期先と言ってきましたが、データ界隈では『Destination（デスティネイション）』『宛先』といった呼び方をするようです。

なので、Fivetranにログインしたら、メニューから『Destinations』を選択し、Destinations画面へ遷移します。
そして右上の「Add destination」ボタンから、登録を行っていきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3333083/565af493-c34b-d5a2-d2dd-393e5b2b3c11.png)
Destination名を入力。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3333083/98416a8e-0732-99c3-8cd1-c3294194e54e.png)
同期先のタイプはDatabricksを選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3333083/bcbc32a4-3d8f-0af8-d97f-fd6850e82232.png)
セットアップ入力画面まで遷移してきました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3333083/829fd9f1-c97e-4afb-0234-8a911cbb5da2.png)

今回はできるだけ簡単に試してみたいので、下記の方針で進めていきます。
* 同期先のカタログは新規で作成しない
* データ格納先は外部ロケーションを指定せず、デフォルトのディレクトリで
* AWS PrivateLinkは使用しない
* DatabricksのSQLウェアハウスでなくクラスターを作成して接続する

特にオプション的なものを付けないこの条件であれば、比較的簡単に接続設定を行うことができました。
※使用した環境はUnity Catalog機能有効化済みのDatabricks環境を使用しています。

### 1. Databricks側で接続に使用するクラスターを作成・起動する
任意のクラスター名を入力し、ランタイムバージョンは10.4LTS以降にしておきます。
あとはデフォルトの状態で起動しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3333083/7b99ed35-8045-3c72-5f37-a44517608b6d.png)
起動したら、クラスターの詳細から［構成＞高度なオプション＞JDBC/ODBC］を表示し、下記の情報をコピーしてセットアップ画面に入力します。
* サーバーのホスト名（Server Host Name）
* ポート（Port）
* HTTPパス（Http Path）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3333083/d7b2baf8-c4ac-a7d2-d747-bc8ec0e3e05c.png)

### 2. Databricks側でアクセストークンを作成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3333083/925f7feb-d110-b584-1026-1299f359dbd3.png)
生成されたアクセストークンをコピーしてセットアップ画面（Personal Access Token）に入力します。

### 3. そのほかの項目を埋めて、接続を実行
* Catalog：同期先のカタログを指定できますが、今回は入力せず進めます
* Create Delta tables in an external location：外部テーブルは使用しないのでOFF
* Data processing location：今回は日本を選択
* Cloud service provider：今回はAWSを選択
* Timezone：今回はJSTを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3333083/779adf0c-ec81-9220-340a-221cfa870670.png)
入力できたら「Save＆Test」ボタンで接続します。
Fivetran側でいくつかテストが行われ、問題なければ次のような画面になって完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3333083/69eafb44-30ca-2f1d-3dfb-df8d505efd50.png)
Connected（接続済み）になっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3333083/a2d4f775-f185-a2c3-aebb-e71457273958.png)

これで、同期先(Databricks)の登録が完了しました。

---
次は、データソース((RDS)PostgreSQL)のコネクターを作成します。
https://qiita.com/ny94/items/103f6fb892afc5bdf58d