PolyBase の機能と制限事項
適用対象: SQL Server 2016 (13.x) 以降のバージョン Azure SQL Database Azure Synapse Analytics Analytics Platform System (PDW)
この記事は、SQL Server の製品やサービスで利用可能な PolyBase 機能の概要です。
製品リリースの機能の概要
PolyBase の主な機能と、これらの機能を利用できる製品を一覧表示した表を次に示します。
機能 | SQL Server (2016 以降) | Azure SQL Database | Azure Synapse Analytics | Parallel Data Warehouse |
---|---|---|---|---|
Transact-SQL を使用して Hadoop データに対するクエリを実行する | はい | いいえ | いいえ | はい |
Hadoop からデータをインポートする | はい | いいえ | いいえ | はい |
データを Hadoop にエクスポートする | はい | いいえ | いいえ | はい |
Azure HDInsight のクエリ、インポート、エクスポート | いいえ | いいえ | いいえ | いいえ |
クエリの計算を Hadoop にプッシュダウンする | はい | いいえ | いいえ | はい |
Azure Blob Storage からデータをインポートする | はい | はい 1 | はい | はい |
Azure Blob Storage にデータをエクスポートする | はい | いいえ | はい | はい |
Azure Data Lake Store からデータをインポートする | いいえ | いいえ | はい | いいえ |
Azure Data Lake Store にデータをエクスポートする | いいえ | いいえ | はい | いいえ |
Microsoft BI ツールから PolyBase クエリを実行する | はい | いいえ | はい | はい |
1 SQL Server 2017 (14.x) で導入されました。「Azure Blob Storage のデータに一括アクセスする例」を参照してください。
既知の制限事項
PolyBase には次の制限事項があります。
SQL Server 2019 (15.x) より前は、最大行サイズ (可変長列の最大長を含む) は、SQL Server で 32 KB 以下、Azure Synapse Analytics で 1 MB 以下にする必要があります。 SQL Server 2019 (15.x) 以降のバージョンでは、この制限は解除されています。 Hadoop データ ソースの場合、制限は 1 MB のままですが、他のデータ ソースについては、SQL Server の上限によって制限されるだけです。
SQL Server または Azure Synapse Analytics からデータが ORC ファイル形式にエクスポートされるときに、テキストの量が多い列が制限される可能性があります。 Java のメモリ不足エラー メッセージにより、わずか 50 列に制限される場合があります。 この問題を回避するには、列のサブセットだけをエクスポートします。
Knox が有効になっている場合、PolyBase を Hadoop インスタンスに接続することはできません。
transactional = true の Hive テーブルを使用している場合、PolyBase は Hive テーブルのディレクトリにあるデータにアクセスできません。
PolyBase サービスが正常に機能するには、SQL Server サービスで TCP/IP ネットワーク プロトコルを有効にする必要があります。 また、TCP/IP プロトコルの構成設定 [すべて受信待ち] が [いいえ] に設定されている場合は、TCP/IP プロパティの [IPAll] の [TCP 動的ポート] または [TCP ポート] のどちらかに正しいリスナー ポートのエントリが残っている必要があります。 これが必要なのは、PolyBase サービスによる SQL Server エンジンのリスナー ポートの解決方法によるものです。
IPv6 がカーネルで無効になっている場合、Linux の SQL Server では PolyBase が機能しません。 詳細については、「Linux 上の SQL Server: 既知の問題」を参照してください。
PolyBase サービスが正常に機能するには、共有メモリ プロトコルを有効にする必要があります。
既定の SQL Server インスタンスが、1433 以外の TCP ポートをリッスンするように構成されている場合、それを PolyBase スケールアウト グループのヘッド ノードとして使用できません。
sp_polybase_join_group
の実行時に、"MSSQLSERVER" をインスタンス名として渡すと、SQL Server では、ポート 1433 がリスナー ポートであると想定するため、開始時にデータ移動サービスがヘッド ノードに接続することはできません。PolyBase での使用では、Oracle シノニムはサポートされていません。
Hadoop 外部データ ソースでは、UTF-8 照合順序はサポートされていません。
SQL Server 2022 (16.x) 以降のバージョンでは、Hadoop がサポートされなくなりました。
PolyBase スケールアウト グループは、Always On 可用性グループではサポートされていません。
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示