Build 2021 の SQL Server ベースの環境の発表については、Build 2021 のタイミングで発表された SQL Server / SQL Database のアップデート に Synapse も含めて書いてみましたが、Synapse 単体でもいくつかのドキュメントの更新が行われていますので、Synapse Analytics のみで、一度アップデートの内容を把握しておきたいと思います。
Contents
アップデートの内容
Synapse のアップデートについては、次のような内容が発表されました。
Spark 3.0 のサポート
アナウンス
Synapse の Spark Pool で Spark 3.0 のランタイムがプレビューとして利用可能になりました。
最終的な GA のタイミングでは 3.1 のブランチをベースとしたバージョンとなるようです。
これに伴い、Azure Synapse runtimes のドキュメントも Spark 3.0 が含まれたものに更新されています。
Spark 3.0 の機能強化については、Spark 3.0 のリリースノート で触れられており、様々な機能強化のメリットが Synapse Analytics の Spark Pool でも受けられるようになります。
Spark 2.4 の Spark Pool では、Delta Lake 0.6.1 のサポートでしたが、3.0 になったことで、Delta Lake 0.8 がサポートされるようになりました。(GA 時には、Spark 3.1 になるようなのでその際には、1.0 系を使用することができるようになるのかと)
Delta Lake 0.8 の変更点については Delta Lake 0.8.0 Released を確認するとよさそうです。(1.0 のリリースドキュメント も公開されています)
NVIDIA GPU アクセラレーション
アナウンス
Synapse Analytics の Spark Pool (Spark 3.0) で GPU を活用するという選択肢が追加されます。(現在はリクエスト制のプレビュー)
GPU クラスターを使用することで、データエンジニアリング / データ準備 / 機械学習の性能向上につながるようですね。
機械学習を使用しない Spark の一部の処理にも効果があるようですので、機械学習以外の環境への適用も可能なようですね。
Serverless SQL プールの Delta Lake のサポート
アナウンス
- Query Delta Lake files using T-SQL language in Azure Synapse Analytics
- Query Delta Lake files using T-SQL in Azure Synapse Analytics (public preview)
Synapse の Feedback として Add support for "Delta Lake" file format in Azure Data Lake Store / HDFS の要望が以前より出ており、今回のタイミングで Serverless SQL プールで Delta Lake サポートが追加されました。
Spark プール以外で、Delta Lake へのアクセスについては、Using Delta Tables in Azure Synapse Dedicated/Serverless SQL Pools / How to read Apache Delta Lake format in serverless Synapse SQL pools などで、議論や実装の取り組みが行われていましたが、今回ネイティブでサポートされるようになりました。
Serverless SQL プールの OPENROWSET で 「FORMAT=’DELTA’」が使用できるようになったことで、Delta Lake に直接アクセスすることが可能となりました。
また、OPENROWSET を使用した、ビューを作成しておくことで、Delta Lake を直接読み込むことができないアプリケーションに対しても、SQL Server へのアクセスができるインタフェースがあれば、Serverless SQL プールを介して Delta Lake 上のデータを提供できるようになります。
Delta Lake 関連のドキュメントについては、次のようなものが公開されており、既存のドキュメントも Delta Lake 対応に更新されています。
- Convert plain parquet files to Delta Lake format using Apache Spark in Azure Synapse Analytics
- Azure Synapse Analytics のサーバーレス SQL プールを使用してビューを作成および使用する
- Azure Synapse Analytics の SQL プールを使用してネイティブの外部テーブルを作成および使用する
- Query Delta Lake files (preview) using serverless SQL pool in Azure Synapse Analytics
- 現状の制限についても記載されています。
- OPENROWSET では、Delta Lake のファイルの更新や Time Travel をサポートしていないため、これらを利用するには、Spark Pool を使用する必要があることが記載されています。
- Synapse SQL で外部テーブルを使用する
Delta Lake については、Azure のドキュメントであれば、Databricks のドキュメントでいろいろと触れられているかと思いますが、Synapse でも次のようなドキュメントで触れられています。
- Delta Lake とは
- Data Lake に Delta Lake を使用することで、どのような機能が活用できるようになるについて触れられています。
- Linux Foundation Delta Lake の概要
- Spark を使用した Delta Lake の操作について触れられています。
Synapse Link for Dataverse
アナウンス
- Accelerate time to insight with Azure Synapse Link for Dataverse
- Power your business applications data with analytical and predictive insights
Dataverse を Dataverse の環境と同一リージョンの Synapse ワークスペースにリンクすることができるようになりました。
設定方法については次のドキュメントに記載されています。
- What is Azure Synapse Link for Dataverse?
- Configure Azure Synapse Link for Dataverse with your Azure Synapse Workspace (Preview)
ドキュメントに記載されていますが「データレイクへのエクスポート」機能が、Build 2021 のタイミングで名称が変更され、従来の ADL Gen2 だけでなく、Synapse Analytics ワークスペースを対象にして、Dataverse のデータを継続的にエクスポートすることで、Serverless SQL プール経由で Dataverse のデータを活用することができるようになります。
まとめ
Spark / Delta Lake はそろそろ学習しないとですねぇ。。。。
[…] https://blog.engineer-memo.com/2021/05/30/build-2021-%e3%81%a7%e7%99%ba%e8%a1%a8%e3%81%95%e3%82%8c%e… […]
【後で読みたい!】Build 2021 で発表された Synapse Analytics のアップデート | Tak's Bar
1 6月 21 at 07:54