使用标准的 RedshiftCOPY
命令将 S3 上的 JSON 数据复制到 Redshift 表中非常简单。
但是,我也在寻找反向操作:将现有 Redshift 表中包含的数据复制到存储在 S3 中的 JSON,以便后续的 RedshiftCOPY
命令可以完全按照原来的样子重新创建 Redshift 表。
我知道 RedshiftUNLOAD
commnd,但它似乎没有提供任何直接以 JSON 格式以 S3 形式存储数据的选项。
我知道我可以编写每表实用程序来解析和重新格式化每个表的UNLOAD
输出,但我正在寻找一种通用解决方案,它允许我在任何指定的 Redshift 表上执行此 Redshift 到 S3-JSON 提取。
我找不到任何现有的实用程序可以做到这一点。我错过了什么吗?
提前谢谢你。
我认为唯一的方法是在 CSV 中卸载并编写一个简单的 lambda 函数,该函数将输入 CSV 转换为 JSON,将 CSV 标头作为键,将每行的值作为值。
目前还没有内置的方法可以做到这一点。因此,您可能需要使用一些硬编码来破解查询:
https://sikandar89dubey.wordpress.com/2015/12/23/how-to-dump-data-from-redshift-to-json/