【问题标题】:Column-major unload in RedshiftRedshift 中的列主要卸载
【发布时间】:2015-07-09 21:07:01
【问题描述】:

我想以列主要格式将 Redshift 中的内容转储到 S3 中(因此每列一个文件)。奇怪的是,到目前为止,我在互联网上或其他地方没有发现任何人想要这样做。

我的问题是 Redshift/PostgreSQL 是否支持以列格式加载和卸载数据,如果没有,是否还有其他支持。这对我来说似乎很奇怪,这不会是一件事——数据是按列存储的,不是吗?我知道,我知道,“切片/节点”,但 sortkey(以及传入数据已排序的必要假设)不会处理它吗?

【问题讨论】:

  • 你想达到什么目的?加载速度更快?一些外部处理?
  • 两者。我正在尝试制作尽可能快的分布式 (Spark) 应用程序,该应用程序将处理列并将其转换为更适合 ML 的格式。
  • Unload 返回一个以行为主的文件,每隔这么多行就分成块。我想要的是一些以列为主的东西(理想情况下,每个文件一列)。这将使摄取更快。如果什么都不存在也没关系,我只是想问问。

标签: postgresql amazon-redshift


【解决方案1】:

UNLOAD 没有以列格式显示的内置功能。

但是,Amazon Redshift UNLOAD 命令采用 SELECT 语句,因此它可以运行多次,每次使用不同的列。

来自UNLOAD documentation

UNLOAD ('select_statement')
TO 's3://object_path_prefix'
[ WITH ] CREDENTIALS [AS] 'aws_access_credentials' 
[ option [ ... ] ]

【讨论】:

    猜你喜欢
    • 2015-11-28
    • 2017-01-25
    • 2019-07-13
    • 2017-01-08
    • 2021-12-22
    • 1970-01-01
    • 2014-03-12
    • 2017-11-17
    • 1970-01-01
    相关资源
    最近更新 更多