Azure Synapse Analytics についてよく寄せられる質問

このガイドでは、Azure Synapse Analytics についてよく寄せられる質問を紹介します。

全般

RBAC ロールを使用してワークスペースをセキュリティで保護するにはどうすればよいですか。

Azure Synapse では、複数のロールとスコープが導入されています。これらを割り当てることで、ワークスペースを容易にセキュリティで保護できます。

Synapse RBAC ロール:

  • Synapse 管理者
  • Synapse SQL 管理者
  • Apache Spark 管理者
  • Synapse 共同作成者
  • Synapse 成果物発行元
  • Synapse 成果物ユーザー
  • Synapse コンピューティング オペレーター
  • Synapse 資格情報ユーザー
  • Synapse のリンクされた Data Manager
  • Synapse ユーザー

Synapse ワークスペースをセキュリティで保護するには、RBAC ロールを次の RBAC スコープに割り当てます。

  • Workspaces
  • Spark プール
  • 統合ランタイム
  • リンクされたサービス
  • 資格情報

さらに、専用 SQL プールでは、使い慣れたすべてのセキュリティ機能を使用できます。

専用 SQL プール、サーバーレス SQL プール、サーバーレス Spark プールを管理するにはどうすればよいですか?

Azure Synapse では、出発点として、Azure サブスクリプション レベルで利用可能な組み込みのコスト分析とコスト アラートを使用します。

  • 専用 SQL プール - お客様が専用 SQL プールを作成し、そのサイズを指定するので、コストを直接可視化して管理できます。 Azure RBAC ロールを使用することで、専用 SQL プールを作成またはスケーリングできるユーザーをさらに制御できます。

  • サーバーレス SQL プール - 監視とコスト管理の制御により、毎日、毎週、および毎月のレベルで支出の上限を設定できます。 詳細については、サーバーレス SQL プールのコスト管理に関するページを参照してください。

  • サーバーレス Spark プール - Synapse RBAC ロールを使用して Spark プールを作成できるユーザーを制限できます。

一般提供の Synapse ワークスペースでは、オブジェクトのフォルダー編成と粒度がサポートされていますか。

Synapse ワークスペースでは、ユーザー定義のフォルダーがサポートされています。

複数の Power BI ワークスペースを 1 つの Azure Synapse ワークスペースにリンクすることはできますか。

はい。2021 年 6 月 10 日の時点で、Synapse Studio では、1 つの Azure Synapse ワークスペースに複数の Power BI ワークスペースを追加できるようになりました。

Azure Synapse Analytics は、現在、Azure Cosmos DB から Synapse Apache Spark とサーバーレス SQL プールへの Azure Synapse Link をサポートしています。 Apache Spark 用 Azure Synapse Link は一般提供されています。 サーバーレス SQL プール用 Synapse Link はプレビュー段階です。 詳細については、Azure Synapse Link for Azure Cosmos DB に関する記事を参照してください。

Azure Synapse Link for SQL は、SQL Server 2022 と Azure SQL Database の両方で一般提供されています。 詳細については、SQL 用 Azure Synapse Link の概要に関する記事を参照してください。

Azure Synapse ワークスペースでは CI/CD がサポートされていますか。

はい、ご利用いただけます。 すべてのパイプライン成果物、ノートブック、SQL スクリプト、および Spark ジョブ定義が、Git に存在します。 プール定義はすべて、Git に Azure Resource Manager (ARM) テンプレートとして格納されます。 専用 SQL プールのオブジェクト (スキーマ、テーブル、ビューなど) は、CI/CD がサポートされたデータベース プロジェクトで管理されます。 詳細については、こちらの CI および CD に関するガイドを参照してください。

専用 SQL プールとサーバーレス プールの機能にはどのような違いがありますか。

2 種類のプール間では、機能と要件に違いがあります。 相違点として、データベース オブジェクト、クエリ言語機能、セキュリティ、ツール、データ アクセス、データ形式などが挙げられます。 SQL プールとサーバーレス プールの詳細な比較については、プールの比較に関するページを参照してください。 いずれかの種類のプールを使用する場合のベスト プラクティスについては、専用 SQL プールのベスト プラクティスおよびサーバーレス SQL プールのベスト プラクティスに関するページを参照してください。

Delta テーブルとは何ですか。なぜ使用する必要があるのでしょうか。

Lakehouse は、Apache Parquet などのオープンな直接アクセス データ形式に基づいています。 機械学習とデータ サイエンスを最高レベルでサポートしています。 Delta テーブルは、Delta Lake に含まれるデータのビューであり、Apache Spark DataFrame の読み取りおよび書き込み API によって提供されるほとんどのオプションをサポートしています。 Lakehouses は、データの古さ、信頼性、総保有コスト、データ ロックインなど、データ ウェアハウスに関する大きな課題の解決に役立ちます。 Delta テーブルでは、自動圧縮やアダプティブ クエリ プランなどの最適化を使用できます。 Delta Lake の詳細なガイドについては、Delta Lake に関するガイドを参照してください。

自動圧縮とは何ですか。

自動圧縮は、Delta テーブルの 自動最適化に関する 2 つの補完的機能のうちの 1 つです。 テーブルへの書き込みが成功した後、自動圧縮により、小さなファイルの数が最も多いパーティションのファイルをさらに圧縮できます。 分単位の待機時間の追加が許容されるストリーミングのユース ケースや、テーブルに対して定期的な OPTIMIZE 呼び出しがない場合には、自動圧縮をオプトインすることをお勧めします。 自動最適化と自動圧縮の詳細については、こちらの自動最適化に関するガイドを参照してください。

パイプライン

パイプラインの実行に使用されている資格情報を確認するにはどうすればよいですか。

Synapse パイプラインでの各アクティビティは、リンクされたサービス内で指定された資格情報を使用して実行されます。

SSIS IR は Synapse 統合でサポートされていますか。

現時点ではありません。

Azure Data Factory パイプラインと Azure Synapse パイプラインにはどのような違いがありますか。

相違点の例としては、グローバル パラメーターのサポート、Data Flow について Spark ジョブの監視、Integration Runtime の共有などがあります。 詳細については、データ統合 - Synapse と ADF に関するドキュメントを参照してください。

既存のパイプラインを Azure Data Factory から Azure Synapse ワークスペースに移行するにはどうすればよいですか。

現時点では、元のパイプラインから JSON をエクスポートし、それを Synapse ワークスペースにインポートして、Azure Data Factory のパイプラインおよび関連する成果物を手動で再作成する必要があります。

Apache Spark ジョブ定義を使用するにはどうすればよいですか。

こちらのクイック スタート ガイドをご覧ください。

ADF パイプラインからノートブックを呼び出せますか。

このユース ケースには 2 つのオプションがあります。 1 つ目のオプションは、パイプラインを ADF のままにすることです。Web アクティビティをラップする必要があります。 このオプションの詳細については、こちらの Web アクティビティに関するガイドを参照してください。 もう 1 つのオプションは、パイプラインを Synapse に移行することです。 2 つ目のオプションの詳細については、こちらの移行コードのサンプルに関するページを参照してください。

Apache Spark

Synapse 用 Apache Spark と Apache Spark の違いは何ですか。

Synapse 用 Apache Spark は、Apache Spark に、他のサービス (Microsoft Entra ID、Azure ML など) との統合サポート、追加のライブラリ (mssparktuils、Hummingbird)、および事前調整されたパフォーマンス構成が追加されたものです。

現在 Apache Spark 上で実行されているワークロードはすべて、変更することなく Azure Synapse Apache Spark 上で実行できます。

Spark のどのバージョンを使用できますか。

2023 年 9 月より、Azure Synapse Apache Spark では、Spark 3.3 が完全にサポートされています。 コア コンポーネントと現在サポートされているバージョンの完全な一覧については、Apache Spark でサポートされるバージョンに関するページを参照してください。

Azure Synapse Spark には、DButils に相当するものがありますか。

はい、Azure Synapse Apache Spark には mssparkutils ライブラリが用意されています。 このユーティリティに関する詳しいドキュメントについては、「Microsoft Spark Utilities の概要」を参照してください。

Apache Spark でセッション パラメーターを設定するにはどうすればよいですか。

セッション パラメーターを設定するには、%%configure マジックを使用します。 パラメーターを有効にするには、セッションの再起動が必要です。

サーバーレス Spark プールでクラスター レベルのパラメーターを設定するにはどうすればよいですか。

クラスター レベルのパラメーターを設定するには、Spark プールに spark.conf ファイルを指定します。 これにより、そのプールは、構成ファイルに渡されたパラメーターに従います。

Azure Synapse Analytics でマルチユーザー Spark クラスターを実行することは可能ですか。

Azure Synapse には、特定のユースケースに対応した専用のエンジンが用意されています。 Synapse 用 Apache Spark は、クラスター モデルではなく、ジョブ サービスとして設計されています。 ユーザーがマルチユーザー クラスター モデルに対して求めるシナリオは 2 つあります。

シナリオ 1: 多くのユーザーが、BI のためのデータを提供する 1 つのクラスターにアクセスする。

このタスクを実行する最も簡単な方法は、Spark を使用してデータを作成し、Synapse SQL のサーバー機能を利用してそれらのデータセットに Power BI を接続できるようにします。

シナリオ 2:1 つのクラスターに複数の開発者を配置して、コストを節約する。

このシナリオを満たすには、少数の Spark リソースを使用するように設定されたサーバーレス Spark プールを各開発者に提供する必要があります。 サーバーレス Spark プールはコストがかからないため、積極的に使用しない限り、複数の開発者がいる場合のコストを最小限に抑えることができます。 容易に相互連携できるように、プールではメタデータ (Spark テーブル) を共有します。

ライブラリを追加、管理、インストールする方法を教えてください。

外部パッケージは、Spark プールの作成時に requirements.txt ファイルを介してインストールできるほか、Synapse ワークスペースまたは Azure portal からインストールできます。 「Azure Synapse Analytics で Apache Spark 用のライブラリを管理する」を参照してください。

Synapse Spark ではどのようなツールを利用できますか。

Synapse Spark の MSSparkUtils には、エクスペリエンスを向上させ、他のツールやサービスとの統合を容易にするさまざまなユーティリティが用意されています。 最小限の手動手順で、ファイル システムを操作し、環境変数を取得し、ノートブックをまとめてチェーン化し、シークレットを操作できます。 完全なドキュメントについては、Microsoft Spark Utilities に関するページを参照してください。

専用 SQL プール

専用 SQL プール (旧称 SQL DW) と Azure Synapse ワークスペースの専用 SQL プールの違いは何ですか。

専用 SQL プール (旧称 SQL DW) は、Azure PaaS (サービスとしてのプラットフォーム) エンタープライズ データ ウェアハウス プラットフォームです。 既存の専用 SQL プール (旧称 SQL DW) に対してクエリを実行したり、Azure Synapse ワークスペースに新しい専用 SQL プールを作成したりすることもできます。 Azure Synapse ワークスペース内の専用 SQL プールのすべての機能がスタンドアロンの専用 SQL プール (旧称 SQL DW) に適用されるわけではなく、その逆も同様です。 詳細については、Azure Synapse Analytics ワークスペースでの Azure Synapse 専用 SQL プール (旧称 SQL DW) と専用 SQL プールとの相違点に関するページを参照してください。 既存の専用 SQL プール (旧称 SQL DW) の Azure Synapse ワークスペース機能を有効にするには、専用の SQL プール (以前の SQL DW) 用のワークスペースを有効にする方法に関するページを参照してください。

専用 SQL プールとサーバーレス プールの機能にはどのような違いがありますか。

違いの完全な一覧については、Synapse SQL での T-SQL 機能の違いに関するページをご確認ください。

Azure Synapse の一般提供が開始されましたが、これまでスタンドアロンであった専用 SQL プールを Azure Synapse に移動するにはどうすればよいですか。

“移動” や “移行” は不要です。 既存のプールで新しいワークスペース機能を有効にすることができます。 そうした場合、破壊的変更は発生せず、Synapse Studio、Spark、サーバーレス SQL プールなどの新機能を使用できるようになります。 Azure Synapse ワークスペース内の専用 SQL プールのすべての機能が専用の SQL プール (以前の SQL DW) に適用されるわけではなく、その逆も同様です。 既存の専用 SQL プール (以前の SQL DW) のワークスペース機能を有効にするには、専用の SQL プール (以前の SQL DW) 用のワークスペースを有効にする方法に関するページを参照してください。

現在、専用 SQL プールの既定のデプロイはどのようになりますか。

既定では、すべての新しい専用 SQL プールがワークスペースにデプロイされます。ただし、必要に応じて、スタンドアロンのフォーム ファクターで専用 SQL プール (以前の SQL DW) を作成することもできます。

ネットワークのセキュリティ

Azure Synapse ワークスペースへのアクセスをセキュリティで保護するにはどうすればよいですか。

マネージド仮想ネットワークを使用しても、使用しなくても、公衆ネットワークからワークスペースに接続できます。 詳細については、接続設定に関するページを参照してください。 公衆ネットワークからのアクセスは、公衆ネットワーク アクセス機能またはワークスペース ファイアウォールを有効にすることで制御できます。 または、マネージド プライベート エンドポイントおよび Private Link を使用してワークスペースに接続できます。 Azure Synapse Analytics のマネージド仮想ネットワークを使用しない Synapse ワークスペースは、マネージド プライベート エンドポイントを介して接続することはできません。