You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求确认CREATE EXTERNAL TABLE语句的实际执行逻辑

CREATE EXTERNAL TABLE ... AS SELECT 执行逻辑确认

你的理解是正确的,这条语句的执行逻辑是将本地dbo.PurchTable表/视图的数据导出到外部数据源D365指定的LOCATION路径,同时在本地创建一个指向该外部数据的外部表parquet.__PurchTable。

具体拆解:

  • 语句后半段AS SELECT {NameList} FROM dbo.PurchTable是核心数据来源:从本地的dbo.PurchTable查询指定字段的数据
  • WITH子句指定了外部存储的参数:
    • DATA_SOURCE = D365:目标外部数据源
    • LOCATION = 'snapshot/PurchTable/202203':数据要写入到D365数据源下的这个路径
    • FILE_FORMAT = _parquet:数据将以parquet格式存储
  • 最终效果:系统会把查询结果写入到D365的指定路径中,同时创建外部表parquet.__PurchTable,后续通过这个外部表可以直接访问存储在D365路径里的parquet数据。

而另一种“基于外部数据源已有数据创建外部表”的写法是不带AS SELECT子句的,语法类似:

CREATE EXTERNAL TABLE parquet.__PurchTable
(
    -- 定义表结构字段
    Column1 INT,
    Column2 VARCHAR(100),
    ...
)
WITH 
(
   LOCATION = 'snapshot/PurchTable/202203',                                      
   DATA_SOURCE = D365,                                   
   FILE_FORMAT = _parquet
)

这种才是映射外部已存在的数据到本地外部表,不会产生数据导出的动作。

内容的提问来源于stack exchange,提问作者Greencolor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 12:29:54