Databricks Partner Connectガイド

[Databricks Partner Connect guide \| Databricks on AWS](https://docs.databricks.com/integrations/partner-connect/index.html) [2021/11/17時点]の翻訳です。

[Databricks Partner Connectパートナー](https://docs.databricks.com/integrations/partners.html#partner-connect)のリストに直接移動できます。

Partner Connectを用いることで、お使いのDatabricksワークスペースのDatabricks SQL[エンドポイント](https://docs.databricks.com/sql/admin/sql-endpoints.html)、Databricks[クラスター](https://docs.databricks.com/clusters/index.html)とDatabricks Partner Connect[パートナー](https://docs.databricks.com/integrations/partners.html#partner-connect)とを容易に接続することができます。

> **注意**
いくつかのパートナーソリューションにおいては、Databricks SQLエンドポイントあるいはDatabricksクラスターのみをサポートしているものがあります。詳細はパートナーのドキュメントを参照ください。

これらのソリューションによって、以下のことが可能となります。

- 外部データソースからローカルの[Delta Lake](https://docs.databricks.com/delta/delta-intro.html)テーブルにデータをロードする。
- シンプルなユーザーインタフェースを通じて、ETL(extract-transform-load)、ELT(extract-load-transform)データパイプラインを作成、管理する。
- データに対するビジネスインテリジェンスオペレーションを行う。
- データに対する機械学習(ML)を行う。

参加しているパートナーのリストに関しては、[Databricks Partner Connectパートナー](https://docs.databricks.com/integrations/partners.html#partner-connect)を参照ください。

# 要件

- お使いのDatabricksアカウントは[Databricksプレミアムあるいはエンタープライズプラン](https://databricks.com/jp/product/aws-pricing)である必要があります。これは、Partner Connectがこれらのプランでのみ利用できるDatabricks SQLを使用するためです。お使いのDatabricksアカウントの詳細を確認するには、[アカウントコンソール](https://docs.databricks.com/administration-guide/account-settings-e2/account-console-e2.html)を使用してください。
- お使いのDatabricksワークスペースは[E2バージョンのDatabricksプラットフォーム](https://docs.databricks.com/getting-started/overview.html#e2-architecture)である必要があります。これは、Partner Connectがこのバージョンでのみ利用できるDatabricks[サービスプリンシパル](https://docs.databricks.com/administration-guide/users-groups/service-principals.html)を使用するためです。お使いのワークスペースがE2バージョンかどうか不明の場合には、Databricks担当にお問い合わせください。
- パートナーソリューションへの新規接続を作成するためには、Databricks管理者としてワークスペースにログインする必要があります。Databricks管理者に関しては、[ユーザー管理](https://qiita.com/taka_yayoi/items/3262ea8529ad96b920ce)をご覧ください。
- 他のPartner Connectのタスクにおいては、まず初めにDatabricks管理者、あるいは、少なくとも**Workspace access**エンタイトルメントを有しているユーザーとしてワークスペースにログインするか、SQLエンドポイントで作業している場合には**Databricks SQL access**エンタイトルメントを有しているユーザーでログインする必要があります。詳細に関しては、[ユーザー管理](https://qiita.com/taka_yayoi/items/3262ea8529ad96b920ce)をご覧ください。

# クイックスタート：パートナーソリューションへの接続

1. お使いのDatabricksアカウント、ワークスペース、サインインしているユーザーがすべてPartner Connectの[要件](#要件)に合致していることを確認します。
1. サイドバーで![](https://docs.databricks.com/_images/partner-connect.png)**Partner Connect**をクリックします。
1. ワークスペースと接続したいパートナーのタイルをクリックします。タイルにチェックマークのアイコンがある場合には、既にワークスペースに接続済みですのでここでストップします。そうでない場合には、接続作成を完了するためにスクリーンに表示される手順に従います。

    > **注意**
Webベースのパートナーソリューションではなく、ローカルにインストールされるパートナーソリューション(例えば、Power BI DesktopやTableau Desktop)を使用する際、ワークスペースとの接続後であってもチェックマークのアイコンは表示されません。

1. 新規接続を操作するには、[Databricks Partner Connectパートナー](https://docs.databricks.com/integrations/partners.html#partner-connect)のリストにある**Details**を参照ください。


# ウォークスルー：Fivetranへの接続

このウォークスルーでは、[Fivetran](https://fivetran.com/)をワークスペースのDatabricks SQLエンドポイントに接続するためにParter Connectを用い、Google Sheetsからサンプルデータをワークスペースに取り込みます。

## Partner ConnectによるFivetranへの接続

1. お使いのDatabricksアカウント、ワークスペース、サインインしているユーザーがすべてPartner Connectの[要件](#要件)に合致していることを確認します。
1. サイドバーで![](https://docs.databricks.com/_images/partner-connect.png)**Partner Connect**をクリックします。
1. **Fivetran**のタイルをクリックします。

    > **注意**
**Fivetran**タイルにチェックマークがついている場合、お使いのワークスペースのユーザーの誰かが、すでにワークスペースのSQLエンドポイントとFivetranを接続したことを意味します。このウォークスルーを完了するには、[Fivetranに手動で接続する](#fivetranに手動で接続する)まで手順をスキップしてください。

1. **Connect to partner**ダイアログで**Next**をクリックします。
1. **Email**については、以下のいずれかを指定します。
    - Fivetranのアカウントを持っていない場合には、14日のFivetranトライアルアカウントを作成する際に使うメールアドレスを入力します。
    - すでにFivetranのアカウントを持っている場合には、アカウントに関連づけられているメールアドレスを入力します。

1. **Connect to Fivetran**をクリックします。

    > **重要！**
    組織の誰かがすでにFivetranでアカウントを作成しているというエラーが表示された場合には、以下のいずれかを実行します。

    > - 組織のFivetranアカウント管理者にコンタクトし、入力しようとしたメールアドレスのアカウントへの追加を依頼します。追加が完了したら[Fivetranに手動で接続する](#fivetranに手動で接続する)まで手順をスキップします。
    > - 組織と関連づけられていないメールアドレスを入力し、再度**Connect to Fivetran**をクリックします。

1. お使いのWebブラウザに新規タブが開き、Fivetranのウェブサイトが表示されます。
1. Fivetranで表示される指示に従い、14日のトライアルFivetranアカウントを作成するか、既存のFivetranアカウントにサインインします。
1. [サンプルデータの取り込み](#サンプルデータの取り込み)までスキップします。

## Fivetranに手動で接続する

この一連のステップを完了するためには、お使いのワークスペースの既存SQLエンドポイントにおける接続情報の詳細が必要となります。これをお使いのFivetranアカウントに追加します。

- 既存SQLエンドポイントの接続情報詳細を取得する方法に関しては、[Get connection details for a SQL endpoint](https://docs.databricks.com/integrations/bi/jdbc-odbc-bi.html#connection-details-sql-endpoint)を参照ください。
- ワークスペースで使用できるSQLエンドポイントを参照する方法に関しては、[View SQL endpoints](https://docs.databricks.com/sql/admin/sql-endpoints.html#view-sql-endpoints)を参照ください。
- ワークスペースにSQLエンドポイントを作成する方法に関しては、[Create a SQL endpoint](https://docs.databricks.com/sql/admin/sql-endpoints.html#create-a-sql-endpoint)を参照ください。

また、Databricksの[パーソナルアクセストークン](https://docs.databricks.com/dev-tools/api/latest/authentication.html#generate-a-personal-access-token)を作成する必要があります。

> **ティップ**
Partner Connectの**Fivetran**タイルにチェックマークが付いている場合には、タイルをクリックし**Connection details**を展開することで、接続済みのSQLエンドポイントの接続詳細情報を取得することができます。しかし、ここでは**Personal access token**が非表示になっていることに注意してください。Fivetranがトークンを要求した際には、[新たなパーソナルアクセストークンを作成](#アクセストークンを作成する)し、新規トークンを入力する必要があります。

1. [https://fivetran.com/dashboard](https://fivetran.com/dashboard)でFivetranアカウントにログインします。

    > **重要！**
    組織のFivetranアカウントでサインインしている場合、**Choose Destination**ページには、Databricksロゴのディスティネーションが表示される場合があります。*お使いのワークスペースにある別のSQLエンドポイント詳細が含まれる場合があります。*これらの接続を再利用したいと考え、SQLエンドポイントが信頼でき、かつアクセス可能であれば、そのディスティネーションを選択し、[サンプルデータの取り込み](#サンプルデータの取り込み)に進みます。あるいは、このページを去り、[https://fivetran.com/account](https://fivetran.com/account)に移動します。

1. Fivetranの**Dashboard**ページで、**Destinations**タブをクリックします。(**Dashboard**ページが表示されない場合には[https://fivetran.com/account](https://fivetran.com/account)に移動してください)
1. **+ Destination**をクリックします。
1. **Destination Name**を入力し**Add Destination**をクリックします。
1. 利用可能なディスティネーションから**Databricks on AWS**をクリックします。
1. **Continue Setup**をクリックします。
1. 既存SQLエンドポイントの接続詳細情報をFivetranに入力して、Fivetranの手順を完了します。
1. **Save & Test**をクリックします。
1. テストが成功したのちに**< Back**をクリックします。
1. [サンプルデータの取り込み](#サンプルデータの取り込み)に進みます。

## サンプルデータの取り込み

1. Fivetranウェブサイトに表示されるディスティネーションページで、**Connectors**をクリックします。(ディスティネーションページが表示されない場合、[https://fivetran\.com/account](https://fivetran.com/account)に移動し、**Destinations**タブからDatabricksロゴのターゲットディスティネーションを選択します)
1. **Connectors**をクリック後に、**Add Connector**をクリックいます。
1. 利用可能なデータソースのリストから、**Google Sheets**をクリックし**Continue Setup**をクリックします。(別のデータソースを使いたいのであれば、それを選択します)
1. Fivetranの**Setup Guide**で表示される指示に従い、コネクタの設定を完了します。
1. **Save & Test**をクリックします。
1. テストが成功したら**< Back**をクリックします。
1. **Destination**をクリックします。
1. Fivetranが適切にSQLエンドポイントに接続されていることを確認するために、**Test Connection**をクリックします。
1. 接続が成功したら**< Back**をクリックします。
1. ワークスペースにデータを取り込むために**Connectors**をクリックします。
1. 作成したコネクタをクリックします。
1. **Start Initial Sync**をクリックします。
1. ワークスペースでサンプルデータを参照します。同期が成功した後にDatabricksワークスペースに移動します。
1. Databricks SQLで**Queries**をクリックします。
1. **Create Query**をクリックします。
1. SQLエンドポイントの名前を選択します。
1. 例えば、`SELECT * FROM google_sheets.my_sheet`のようなクエリーを入力します。

    > **注意**
    データベース名、テーブル名が違うかもしれません。適切なデータベース名、テーブル名に関しては、Fivetranで作成したコネクタの詳細を確認してください。

1. **Run**をクリックします。取り込まれたデータが表示されます。

## クリーンアップ

このウォークスルーを完了した後は、使う予定のないリソースを削除します。

### テーブルの削除

1. Databricks SQLで**Queries**をクリックします。
1. **Create Query**をクリックします。
1. 接続に使用しているSQLエンドポイントの名前をクリックします。
1. 例えば`DROP TABLE google_sheets.my_sheet`のようなクエリーを入力します。

    > **注意**
    データベース名、テーブル名が違うかもしれません。適切なデータベース名、テーブル名に関しては、Fivetranで作成したコネクタの詳細を確認してください。

    > このクエリーはテーブルのみを削除します。お使いのGoogle Sheetは削除しません。使用する予定がなければ手動でGoogle Sheetを削除してください。

1. **Run**をクリックします。

### SQLエンドポイントとDatabricksサービスプリンシパルの削除

1. Partner Connectで、チェックマークがついている** Fivetran**タイルをクリックします。
1. **Delete connection**をクリックします。
1. **Delete**をクリックします。

### 接続詳細情報の削除

- Fivetranの**Dashboard**ページで、**Destinations**タブをクリックします。(**Dashboard**ページが表示されない場合、[https://fivetran\.com/account](https://fivetran.com/account)に移動します。
- Databricksロゴのついたディスティネーションのエントリーの隣にある**X**アイコンをクリックします。
- **Remove Destination**をクリックします。

おめでとうございます！このウォークスルーを完了しました。

# キータスク

このセクションでは、Partner Connectに関連するキータスクを説明します。

## パートナーが生成したデータベース、テーブルへのユーザーをアクセスを許可する

Partner Connectの**Data Ingestion**カテゴリーにあるパートナーソリューションは、ワークスペースにデータベースとテーブルを作成することができます。これらのデータベース、テーブルは、パートナーソリューションに関連づけられたお使いのワークスペースにおけるDatabricksの[サービスプリンシパル](https://docs.databricks.com/integrations/partner-connect/admin.html#service-principal-pat)によって所有されます。

デフォルトでは、これらのデータベース、テーブルはサービスプリンシパルとワークスペースのDatabricks管理者のみがアクセスすることができます。ワークスペースの他のユーザーにこれらのデータベース、テーブルにアクセスを許可するには、SQLの[GRANT](https://docs.databricks.com/spark/latest/spark-sql/language-manual/security-grant.html)文を使用します。既存のデータベース、テーブルに対するアクセス詳細を取得するには、SQLの[SHOW GRANT](https://docs.databricks.com/spark/latest/spark-sql/language-manual/security-show-grant.html)文を使用します。

## アクセストークンを作成する

Databricksのパートナーソリューションは、パートナーへのDatabricksのパーソナルアクセストークンの提供を要求します。

Partner Connectにおけるクラウドベースのソリューション(Fivetran、Labelbox、Prophecy、Rivery等)においては、Partner Connectが自動で(トークンと関連づけられるDatabricks[サービスプリンシパル](https://docs.databricks.com/administration-guide/users-groups/service-principals.html)と一緒に)トークンを作成し、トークンの値をパートナーと共有します。あなたはトークンの値にアクセスすることはできません。何かしらの理由でトークンの有効期限が切れるか、パートナーとトークンの値が共有されなくなった場合には、サービスプリンシパルに対する新規トークンを作成する必要があります。これを行うためには[Manage service principals and personal access tokens](https://docs.databricks.com/integrations/partner-connect/admin.html#service-principal-pat)を参照してください。新規トークンをパートナーに共有するためには、パートナーのドキュメントを参照ください。

Databricksワークスペース管理者のみがDatabricksサービスプリンシパルに対する新規トークンを作成することができます。新規トークンを作成できない場合には、管理者にお問い合わせください。また、[Manage service principals](https://docs.databricks.com/administration-guide/users-groups/service-principals.html)も参照ください。

Partner Connectにおけるデスクトップベースのパートナーソリューション(Power BI、Tableauなど)においては、トークンを作成し、パートナーと共有する必要があります。トークンを作成するには、[Generate a personal access token](https://docs.databricks.com/dev-tools/api/latest/authentication.html#generate-a-personal-access-token)を参照ください。新たなトークンをパートナーと共有するようにパートナーソリューションを設定するには、Partner Connectで表示される手順かパートナーのドキュメントを参照してください。

> **重要！**
トークンを作成し、パートナーとトークンの値を共有する際には、パートナーはDatabricksワークスペースの関連するエンティティ(DatabricksユーザーやDatabricksサービスプリンシパル)が取りうるアクションを使用できることになります。信頼できないパートナーにトークンの値を共有しないでください。

Databricksワークスペース管理者はトークン生成を無効化することができます。トークンを生成できない場合には管理者にお問い合わせください。[Manage personal access tokens](https://docs.databricks.com/administration-guide/access-control/tokens.html)も参照ください。

## SQLエンドポイントの外部データへのアクセスを許可する

Databricks SQLエンドポイントがDatabricks外のデータにアクセスすることを許可する際には、[Configure access to cloud storage](https://docs.databricks.com/sql/user/security/cloud-storage-access.html)を参照ください。

# トラブルシューティング

このセクションでは、Partner Connectにおける一般的な問題に対応するためのご支援をします。

## パートナーに接続しようとした際にエラーメッセージが表示される

**問題:** Partner Connectを用いてDatabricksワークスペースをパートナーソリューションに接続しようとした際、エラーが表示され接続を作成できない。

**原因:** このエラーが発生する原因はいくつか存在します。

- 組織の複数の個人がパートナーにアカウントを作成しようとすると、最初の個人のみが成功します。これは組織レベルでのみアカウントを提供しているためであり、最初の個人がアカウントを作成し、組織におけるアカウントとなるためです。
- すでにパートナーのアカウントを持っている際には接続は失敗し続ける場合があります。これは、パートナーが重複するアカウントを作成するためです。

**解決策:**

以下のいずれかを行います。

- アカウントにあなたのメールアドレスを追加するように、パートナーに最初に組織のアカウントを作成した人に依頼します。Partner Connectをバイパスし、直接パートナーアカウントにログインしパートナーソリューションの利用を開始します。
- Partner Connectを通じて再度接続の作成にトライしますが、この際には、個人のメールアドレスなど組織のドメインに関連づけられていないメールアドレスを使用します。この場合、Databricksのワークスペースにこのメールアドレスを追加する必要があるかもしれません。
- Partner Connectをバイパスし、既存のアカウントで直接パートナーにログインし、パートナーソリューションの利用を開始します。

パートナーにログイン後にワークスペースが接続されていない場合、[Databricks Partner Connectパートナー](https://docs.databricks.com/integrations/partners.html#partner-connect)のリストにある**Details**セクションの指示に従って接続の作成を完了してください。

## パートナーのアカウント、ウェブサイトにサインインしようとした際にポップアップブロッカーが表示される

**問題:** Partner Connectによるパートナーのアカウント、ウェブサイトへのサインインを使用するパートナーソリューションにおいて、Partner Connectがお使いのウェブブラウザで新規タブを開き、ポップアップブロッカーが表示される。このポップブロッカーによってパートナーのアカウント、ウェブサイトにサインインできない。

**原因:** お使いのウェブブラウザがポップアップをブロックしています。

**解決策:** お使いのウェブブラウザーでパートナーのウェブサイトのポップアップを許可します。ブラウザーによって手順は異なります。例えば、Google ChromeではGoogle Chrome Helpウェブサイトの[Block or allow popups in Chrome](https://support.google.com/chrome/answer/95472)を参照ください。他のブラウザーに関しては、インターネットで「特定のウェブサイトに対するポップアップ許可」といったフレーズで検索してください。

# 追加のリソース

Partner Connectの詳細に関しては、以下のリソースを参考にしてください。

- [管理](https://docs.databricks.com/integrations/partner-connect/admin.html)
    - [パートナーアカウントユーザーの管理](https://docs.databricks.com/integrations/partner-connect/admin.html#manage-partner-account-users)
    - [サービスプリンシパル、パーソナルアクセストークンの管理](https://docs.databricks.com/integrations/partner-connect/admin.html#manage-service-principals-and-personal-access-tokens)
    - [パートナーからの接続解除](https://docs.databricks.com/integrations/partner-connect/admin.html#disconnect-from-a-partner)


### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)