将 JSON 文件加载到 Redshift

Posted

技术标签:

【中文标题】将 JSON 文件加载到 Redshift【英文标题】:Loading JSON files to Redshift 【发布时间】:2018-03-20 22:39:31 【问题描述】:

我正在尝试使用复制命令将 S3 上的一堆 JSON 文件加载到红移。 JSON文件的示例结构是:

 
 message: 3
 time: 1521488151
 user: 39283
 information: 
     bytes: 2342343
     speed: 9392
     location: CA
 
 

是否可以创建具有正确列的表 - 也可以将信息块拆分为各个列并使用复制命令?

【问题讨论】:

【参考方案1】:

截至 3 月 8 日,Redshift Spectrum 支持 JSON 格式,可直接从 Redshift 查询为外部表。

https://aws.amazon.com/about-aws/whats-new/2018/03/amazon-redshift-spectrum-now-supports-scalar-json-and-ion-data-types/

有关如何将 S3 JSON 文件挂载到 Redshift 的文档。

https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_TABLE.html

感谢 Scott 提供参考。

希望对你有帮助。

【讨论】:

红移光谱可以拿json就好了 @JonScott 你说的很对。让我把它添加到答案中。 @JonScott 非常感谢您的参考。参考它已于 3 月 8 日添加。有了云,你总是过时了。 Parquet 仍然比 json 提供一些性能优势。如果您需要它们,spectrify 可能是帮助转换的有用工具:github.com/hellonarrativ/spectrify

以上是关于将 JSON 文件加载到 Redshift的主要内容,如果未能解决你的问题,请参考以下文章

如何将 json 文件加载到本地存储中?

将 JSON 多行文件加载到 pyspark 数据框中

将带有对象数组的 json 文件从文件加载到 SQL 中

将本地 JSON 文件加载到变量中

将 json 文件加载到 PIG 中

将JSON文件加载到Redshift