SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Archive for the ‘Synapse Analytics’ Category

パイプラインによるデータコピーで ADL Gen2 をステージングアカウントとして使用した場合にディレクトリが残る問題についての対応方法

leave a comment

Data Factory のコピーアクティビティーを使用したデータコピーでは、ステージングコピー を使用することができます。ステージングは、DWH に対してデータコピーを行う際に使用されるケースがあるのではないでしょうか。

ステージング コピーのしくみ には次の記載があります。

コピー アクティビティの実行後に一時データをクリーンアップできるように、ステージング ストレージ内の Azure Data Factory に削除アクセス許可を付与する必要があります。

コピーアクティビティにより格納されたステージングデータですがアクティビティ内のクリーンアップで自動的に削除が行われます。

しかし、Azure BLOB ストレージを使用している場合は問題ないのですが、ADL Gen2 をステージングアカウントとして使用した場合、コピーアクティビティが実行されるたびに、指定したステージングデータを格納するコンテナー内にファイルは存在しないのですが、GUID のディレクトリが残った状態となるという事象が発生します。

image

本事象ですが、ADL Gen2 をステージングアカウントととして指定した場合に必ず発生するわけではなく、コピー先によって発生有無が変わってくるようです。今回は、Fabric の Data Warehouse に対してデータのコピーを実施する際に発生しましたが、Synapse DWH でも発生するはずです。

この動作は現時点では想定された動作となり (SR で確認済み) 、ディレクトリの削除をパイプライン内で実行するためには本投稿のような対応を検討する必要がありますので、対応方法を残しておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 13th, 2024 at 7:23 pm

ADF / Synapse / Fabric のパイプラインのアクティビティのエラー時に SendGrid でメールを送信する

leave a comment

Azure Data Factory (ADF) / Synpase Analytics / Fabric でパイプラインを作成し、アクティビティの実行時にエラーとなったことを検知する方法についてまとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 8th, 2024 at 11:36 am

Serverless SQL プールで Azure ストレージの診断ログを検索する際の考慮事項

leave a comment

Frontdoor の診断設定で取得した、Azure ストレージ上のアクセスログを Synapse Analytics の Serveless SQL プールで検索する際にいくつかの考慮点があったため、その内容をまとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

4月 21st, 2024 at 11:28 pm

Posted in Synapse Analytics

Tagged with

Synapse Analytics の Serverless SQL プールの分散処理について

leave a comment

Microsoft Fabric の Lakehouse に対して、ADL Gen2 のショートカットを設定することで、Azure ストレージ上のデータを検索するという方法を昨今の環境ではとることができるようになったかと思います。

T-SQL で検索を行う場合には、マネージドテーブルとしてショートカットを作成することになるかと思いますが、レイクハウス に記載されているように次のような制限があります。

Tables フォルダーでは、最上位レベルでのみショートカットを作成できます。 Tables フォルダーの他のサブディレクトリでは、ショートカットはサポートされません。 ショートカットのターゲットに Delta\Parquet 形式のデータが含まれている場合、レイクハウスはメタデータを自動的に同期し、フォルダーをテーブルとして認識します。

マネージドテーブル (Tables) として、ショートカットを作成する際にはサブディレクトリのサポートが行われていません。

Azure ストレージに出力している Azure リソースの診断情報を検索しようとした場合、診断情報は複数のサブディレクトリから構成されているため、Microsoft Fabric でそのままのディレクトリ構造で検索を行うことは難しく、マネージドテーブルとして認識できるディレクトリ構造に加工をして利用する必要があります。(アンマネージドテーブルとして Files 配下にショートカットを作成して、Spark で検索を行うのであれば Microsoft Fabric でも対応可能です)

Synapse Analytics の Serverless (サーバーレス) SQL プールについては、サブディレクトリが複数の構造でも検索を行うことができ、Azure ストレージに対して、T-SQL で分析を行うという場合には、Serverless SQL プールのほうが容易に活用できるケースがあります。

Synapse Analytics のアーキテクチャについては、Azure Synapse SQL アーキテクチャ に記載されていますが、当ブログで Serverless SQL プールの分散処理について触れたことが無かったため、情報をまとめておきたいと思います。

現状、一番詳細に記載されているのは POLARIS: The Distributed SQL Engine in Azure Synapse になるかと思います。

公式ドキュメントではアーキテクチャの内容と、次のドキュメントが参考になるかと。

 

Read the rest of this entry »

Written by Masayuki.Ozawa

4月 17th, 2024 at 6:14 pm

Synapse Analytics のサーバーレス SQL プールのコスト対象となるデータ処理数の基本的な考え方

leave a comment

Synapse Analytics のサーバーレス SQL プールは、メタデータ以外のデータは保持せず、検索対象となるデータは外部ストレージ (サービス) が対象となります。

そのため、利用時のコストは「データ処理数」となり、クエリ実行時には少量データの処理に対しても、最低 10MB の料金がかかることになります。(DMV に対しての検索はコストは発生していないようではあります)

image

検証で使用している場合は、2023年6月30日までの無料枠である、1TB 以内に収まるかと思いますが、実運用で大量データを使用する場合、クエリでどの程度処理が行われるかを把握することは重要となります。

本投稿では、サーバーレス SQL プールのコスト対象となるデータ処理数の基本的な考え方についてまとめておきたいと思います。
今回の対象は Azure ストレージからの情報取得となっており、Synapse Link については調査できていません。

今回は手元の CSV ファイルを使用して検証をしましたが、検証のために、手元にある程度のボリュームのまとまったデータがない場合は、Azure Open Datasets で公開されているデータを使用してみてもよいかもしれません。

Read the rest of this entry »

Written by Masayuki.Ozawa

4月 13th, 2023 at 9:34 am

Posted in Synapse Analytics

Tagged with

Azure Machine Learning Studio のデータセットとしてサーバーレス SQL プールを使用する

leave a comment

Azure Machine Learning Studio で、機械学習モデルを作成する際のデータセットとして、次のようなデータストアを選択することができるのですが、この中には Synapse Analytics は含まれていません。

image

SQL Database の論理サーバー内に専用 SQL プール (Dedicated SQL Pool) を使用した場合は、論理サーバーの下に DB が作成されますので、接続のエンドポイントとしては「~.database.windows.net」を使用することができますので、データストアの種類として「Azure SQL Database」を選択しても戸惑うことなくデータストアを作成できるのではないでしょうか。

Read the rest of this entry »

Written by Masayuki.Ozawa

4月 14th, 2022 at 1:24 pm

Posted in Synapse Analytics

Tagged with

SQL Server-based environment updates

leave a comment

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 22nd, 2022 at 10:53 am

Dedicated SQL Pool でデータローディングを最適化するときの基本アプローチ

one comment

Synapse Analytics の Dedicated SQL Pool (専用 SQL プール) に対して、データローディングを行う際には、いくつかのポイントがあり、特性を意識したデータローディングを実施しないと、パフォーマンスが大幅に低下する恐れがあります。

本投稿ではどのようなアプローチを行えばよいのかについてまとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 13th, 2021 at 7:56 pm

Posted in Synapse Analytics

Tagged with

Build 2021 で発表された Synapse Analytics のアップデート

one comment

Build 2021 の SQL Server ベースの環境の発表については、Build 2021 のタイミングで発表された SQL Server / SQL Database のアップデート に Synapse も含めて書いてみましたが、Synapse 単体でもいくつかのドキュメントの更新が行われていますので、Synapse Analytics のみで、一度アップデートの内容を把握しておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 30th, 2021 at 11:04 pm

Posted in Synapse Analytics

Tagged with

Synapse の専用 SQL プールへの移行に活用できる Synapse Pathway を試してみる

leave a comment

Ignite 2021 で、発表された内容の中に Synapse Pathway がありました。

Synapse Pathway は Azure Synapse Analytics の専用 SQL プールに移行するための、SQL のコード変換を行うことができるツールとなっています。

2021/3/10 時点では、次の環境のオブジェクトの変換を行うことができるようになっています。

  • IBM Netezza
  • Microsoft SQL Server
  • Snowflake

今後、Amazon Redshift / Google BigQuery / Teradata のサポートも予定されているようですね。

image

日本語化されたドキュメントも Azure Synapse Pathway プレビューの概要 で公開されましたので、SQL Server からの変換を使用して、機能を試してみたいと思います。

Synapse Pathway はクラウドサービスではなく、スタンドアロンのツールとして提供されており、実行環境にツールをインストールする必要があります。

モジュールのダウンロード / インストール方法は本投稿では触れていません。
ツールの導入方法については、、Azure Synapse Pathway プレビューのダウンロード を参照してください。
インストーラーをダウンロードしてセットアップをぽちぽちするとインストールされます。

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 10th, 2021 at 12:03 pm

Posted in Synapse Analytics

Tagged with