【问题标题】:Vertica - What is the best practice for exporting to ParquetVertica - 导出到 Parquet 的最佳做法是什么
【发布时间】:2019-06-23 18:23:27
【问题描述】:

我有一个 Vertica 数据库,假设用于我的“热”数据。 我发现我可以将我的“冷”数据保存为 HDFS 上的 parquet 文件作为外部表,我也成功地将我的数据导出到 Parquet 文件。 关于这个过程,我有几个问题: * 出口到镶木地板 - 如何经常做?我需要将查询作为 cron 选项卡运行吗?
* 当我创建一个外部表时,Vertica 是否知道将其“连接”到我的主表?我的意思是,在运行任何查询时,Verica 还将在与存储“热”数据的主表相关的外部表中进行搜索。

【问题讨论】:

    标签: parquet vertica


    【解决方案1】:

    如果您想进行定期导出,您需要使用外部调度程序(如 cron)。您可以导出到 HDFS、NFS 或 S3。

    如果您在 Vertica 中有一些数据(您的热数据),而在外部表中有其他(冷)数据,则它们是两个单独的表。您可以一起查询它们(从热、冷中选择...),但您的外部 Parquet 数据不在保存 Vertica(ROS、热)数据的表中。

    当您查询外部表时,Vertica 会从外部位置读取相关数据。从某种意义上说,它在每个查询上使用 CREATE EXTERNAL TABLE 表达式的 FROM 子句进行轻量级加载。 (Parquet 列格式和谓词下推等优化意味着这并不痛苦。)这意味着如果您的 FROM 子句是一个 glob(如hdfs:///data/*/*.parquet),如果您导出更多数据,则不需要更新表定义——它只是工作。

    请注意,每次导出都需要进入一个新目录;如果你把它们都放在同一个父目录下,那么你可以像我的例子一样使用 glob。见the documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-30
      • 2014-12-11
      相关资源
      最近更新 更多