Interact with external data on Databricks | Databricks on AWS [2022/12/1時点]の翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
Databricksランタイムは、レイクハウスとのデータインポート・エクスポートをシンプルにするために、著名なデータソースやフォーマットのバインディングを提供しています。本書では、ビルトインサポートのフォーマットとインテグレーションを特定する役に立つ情報を提供します。また、さらに多くのシステムとやり取りをできるようにDatabricksを拡張する方法にアクセスすることができます。
Databricksでは、数多くのデータロードとデータ取り込みの最適化を提供しています。
また、DatabricksではSQLとデータフレームユーザーに対してクエリーフェデレーションをサポートしています。Databricksのクエリーフェデレーションとは?をご覧ください。
これまでにDatabricksデータの読み書きを行ったことがないのであれば、PythonやScalaのデータフレームチュートリアルを試すことを検討ください。Apache Sparkに慣れ親しんでいるユーザーにとっても、このチュートリアルはクラウドにあるデータへのアクセスに関する新た課題に取り組むことができます。
Partner Connectは数多くのエンタープライズソリューションに対して、最適化され設定が容易なインテグレーションを提供します。What is Databricks Partner Connect?をご覧ください。
Databricksで使えるデータフォーマットは?
Databricksには、Apache Sparkによってネイティブにサポートされているすべてのデータフォーマットに対してビルトインのキーワードバインディングがあります。Apache SparkがParquetを使うのと同じように、Databricksはデータとテーブルの読み書きにおけるデフォルトのプロトコルとしてDelta Lakeを使います。
以下のデータフォーマットのすべては、Apache SparkのデータフレームとSQLにおいてビルトインのキーワード設定を有しています。
また、DatabricksではMLflowエクスペリメントをロードするカスタムキーワードを提供しています。
特別な検討を要するデータフォーマット
以下のデータフォーマットにおいては、使う際に追加の検討や特別な検討が必要になるかもしれません:
-
画像は
binary
データとしてロードすることをお勧めします。 - XMLはネイティブではサポートされていませんが、ライブラリをインストールすることで使用することができます。
- また、HiveテーブルはApache Sparkでネイティブでサポートされていますが、Databricksでの設定が必要となります。
- Databricksでは圧縮されている様々なファイルフォーマットを直接読み込むことができます。必要に応じて圧縮ファイルをunzipすることができます。
- LZOにはcodecのインストールが必要となります。
Apache Sparkのデータソースに関しては、Generic Load/Save FunctionsやGeneric File Source Optionsをご覧ください。
Databricksで使用するクラウドストレージをどのように設定するのか?
Databricksでは、データファイルとテーブルを格納するためにクラウドオブジェクトストレージを使用します。ワークスペースをデプロイメントする際、DatabricksはDBFSルートと呼ばれるクラウドオブジェクトストレージロケーションを設定します。アカウントの他のクラウドオブジェクトストレージロケーションとの接続を設定することもできます。
ほぼ全てのケースにおいて、DatabricksでApache Sparkを用いて操作するデータファイルはクラウドオブジェクトストレージに格納されます。接続を設定する際のガイドとして、以下のドキュメントをご覧ください。
- Working with data in Amazon S3
- Access Azure Data Lake Storage Gen2 and Blob Storage
- Google Cloud Storage
- Accessing Azure Data Lake Storage Gen1 from Databricks
JDBCでDatabricksに接続するデータソースは?
数多くのデータソースに接続するためにJDBCを使うことができます。Databricksランタイムには数多くのJDBCデータベースのドライバーが含まれていますが、お使いのデータベースに接続するためにはドライバーや別バージョンのドライバーをインストールする必要があるかもしれません。サポートされているデータベースには以下のものが含まれます:
- Query PostgreSQL with Databricks
- Query MySQL with Databricks
- Query MariaDB with Databricks
- Query SQL Server with Databricks
Databricksと連携できるデータサービスは?
以下のデータサービスでは、接続設定、セキュリティ資格情報、ネットワーク設定が必要となります。AWSアカウントやDatabricksにおける管理者、パワーユーザー権限が必要になるかもしれません。また、いくつかにおいてはDatabricksライブラリを作成し、クラスターにインストールする必要があります。
- Query Amazon Redshift with Databricks
- Google BigQuery
- MongoDB
- Cassandra
- Couchbase
- ElasticSearch
- Neo4j
- Redis
- Read and write data from Snowflake
- Azure Cosmos DB
- Query data in Azure Synapse Analytics