与CTAS相比,创建外部表的优缺点是什么?



我正在尝试构建一个 Azure 数据工厂管道,该管道从 Azure 数据湖中获取数据并进行转换。

我想将转换后的数据存储在 Azure SQL 数据仓库中(作为事实和维度(。

我最终得到了两种解决方案来使数据在仓库中可用:

  1. 使用创建外部表,并在.csv文件中引用位于湖中的转换数据;
  2. 使用 CTAS 将湖中的.csv文件复制到仓库中;

问题

对我来说,权衡

取舍并不明显。一方面,在我看来,第一个选项避免复制到仓库(虽然是吗?但是第二个选项将提供更多选项,例如索引。

与CTAS相比,创建外部表的优缺点是什么?

将数据

登陆DW(使用CTAS(的主要好处是,针对该数据的后续查询将明显更快。您将获得跨节点和分布的完整数据分布。筛选或联接表的任何查询都将大大加快速度。

正如您所指出的,缺点是您现在正在存储数据的另一个副本......假设您在摄取后不会从数据湖中删除该文件。

将"创建外部表"视为简单地提供外部文件到 SQL 数据结构的映射。

相关内容

  • 没有找到相关文章

最新更新