使用外部数据

将数据导入 Vertica 的另一种方法是就地查询。在某些情况下,查询外部数据而不是导入它可能是有利的:

  • 在选择要加载到 Vertica 中的数据之前,如果想浏览诸如数据湖中的数据。

  • 如果您是共享诸如数据湖中的相同数据的多个使用者之一,则就地读取数据可以消除对查询结果是否是最新的顾虑。副本只有一份,因此所有使用者看到的数据都相同。

  • 如果您的数据变化迅速,但您不想将其流式传输到 Vertica,则可以改为自动查询最新更新。

  • 如果您有大量数据并且不想增加许可证容量。

  • 如果 Vertica 中拥有您仍希望能够查询的低优先级数据。

要查询外部数据,必须将您的数据描述为外部表。和原生表一样,外部表也有表定义,可以被查询。与原生表不同,外部表没有编录,Vertica 根据需要从外部源加载选定数据。对于某些格式,查询计划器可以利用数据中的分区和排序,因此查询外部表并不意味着您在查询时加载所有数据。(有关原生表的详细信息,请参阅使用原生表。)

本节未涉及一种特殊类型的外部数据。如果您正在从 Hadoop 中读取数据,特别是从 Hive 数据仓库中读取,则可以从 Hive 中读取架构信息,而不是定义您自己的外部表。有关详细信息,请参阅使用 HCatalog 连接器