針對 Azure Synapse 無伺服器 SQL 集區上的 CREATE EXTERNAL TABLE AS SELECT (CETAS) 問題進行疑難解答
適用於:Azure Synapse Analytics
Azure Synapse 無伺服器 SQL 集區中的 CREATE EXTERNAL TABLE AS SELECT (也稱為 CETAS) 語句可用來建立外部數據表,並將查詢結果匯出至 blob 或 Azure Data Lake Storage Gen2 Azure 儲存體。 本指南可協助您針對使用 CETAS 匯出數據的常見問題,實作最佳做法和因應措施。
常見問題集
問題 | 建議 |
---|---|
我可以將結果匯出至單一檔案嗎? | 否。 由於無伺服器 SQL 查詢引擎具有高度平行且可調整的性質,無伺服器 SQL 在使用 CETAS 將查詢結果儲存至記憶體時,無法控制檔案數目。 因應措施: 或者,您可以使用 Spark 筆記本將數據匯出至記憶體。 請參閱 在記憶體帳戶 中建立 CSV 和 Parquet 檔案,以瞭解如何將數據匯出至單一 CSV 檔案和 Parquet 檔案。 |
我可以在第一次匯出之後修改所匯出的資料嗎? | 否。 儲存結果之後,就無法修改外部數據表中的數據。 CETAS 不會覆寫第一次執行中建立的基礎數據。 因應措施: 替代方法是,您可以建立新的外部資料表以寫入到不同資料夾。 |
支援什麼匯出檔案格式? | 目前僅支援 PARQUET 和 DELIMITEDTEXT。 不支援 DELIMITEDTEXT 格式的 Gzip 壓縮。 無伺服器 SQL 集區中的 CETAS 內有詳細資料。 |
為什麼我無法連線到記憶體? | - 請確定您已為來源和目的地記憶體帳戶建立適當的認證,如控制無伺服器 SQL 集區的記憶體存取所指定。 - 請確定您擁有來源和目的地記憶體帳戶的適當 許可權 。 |
如何讓 CETAS 語句更具效能? | - 請確定目的地儲存體帳戶位於您無伺服器 SQL 集區端點所在的相同區域中。 在 Azure 入口網站 中,您可以在記憶體帳戶或工作區的 [概觀] 窗格中找到記憶體帳戶和工作區區域。 - 請確定您使用的是 CETAS 所支援的資料類型。 |