Azure Synapse Analytics (旧 Azure SQL Data Warehouse) の新機能であるオンデマンド クエリ(プレビュー)などについて、少し確認してみました。
詳細は Democratizing the Data Lake with On-Demand Capabilities in Azure Synapse Analytics を参照
オンデマンド クエリでは、以下の5つの機能がキーとなるようです。
- Code Gen Detect Data : 右クリック - SQL Script を実行すると、SQL On-Demand はロードするファイル フォーマットを自動的に検出
- Query files directly : スキーマを定義することなく、自動的に列を検出
- Database Views : 「CREATE VIEW」により複雑なデータを単純化
- Data Transformation : 「CREATE EXTERNAL TABLE」による異なる型/フォーマットにデータを変換
- Shared Metadata : Spark プールで定義されているテーブルをクエリで利用可能
「Code Gen Detect Data」機能は、Azure SQL Data Warehouseでは使用することが出来なかった 「OPENROWSET」関数を使用し、外部テーブルを作成することなく、Data Lake Storage などに配置されたデータ (PARQUET, CSV 形式) を直接参照できるようになったもようです。
また、便利なコマンドとして、「COPY INTO」 コマンド(プレビュー)を使用することで、簡単に Data Lake Storage などに配置されたデータ (PARQUET, CSV 形式) を高速にテーブルへロードできるようになります。
COPY INTO table1 FROM 'h t t p s://st****.dfs.core.windows.net/con1/*.dat' WITH ( FILE_TYPE = 'CSV', CREDENTIAL=(IDENTITY= 'Shared Access Signature', SECRET='?sv=2019-03-23&ss=bfqt&srt=********%3D'), FIELDTERMINATOR=',', MAXERRORS = 10 )
Azure Synapse Analytics オンデマンド クエリ(プレビュー)に関することではなく、全般的な話となりますが、最近、DWHサービスとして Snowflake を使用することで、大量データ(ペタバイト)を高速かつ低いコストで分析することができるという分析結果を読みました。しかしながら、以下のベンチマークを確認する限り、Azure Synapse Analytics がパフォーマンスに対する価格評価は最も低くなるのですね。
引用 : https://vshow.on24.com/vshow/ASAVE/exhibits/ASAVE?regPageId=16499
Azure Synapse Analytics は、単純に Azure SQL Data Warehouse の後継ではなく、Spark, Azure Machine Learning などを組み合わせたサービスであるため、ベンチマークの取り方に起因しているのかもしれませんが。
Azure Synapse Analytics のすべての機能を確認するためには、Synapse Studio が使用できる必要がありますが、本パブリック機能の申請が通った後、もっと詳細に確認してみようと思います。