Redshift Spectrum 读取文件的数据格式是啥?

Posted

技术标签:

【中文标题】Redshift Spectrum 读取文件的数据格式是啥?【英文标题】:What is the data format for a file to be read by Redshift Spectrum?Redshift Spectrum 读取文件的数据格式是什么? 【发布时间】:2019-11-26 06:36:20 【问题描述】:

我一直在阅读有关 Redshift Spectrum 的信息,但有一些我不明白的地方。

    我知道 Redshift Spectrum 会从存储在 S3 中的文件中读取数据,但我需要存储在 S3 中的实际文件是什么?是一些 SQL 语句吗?我可以把它放在任何格式吗?假设我经营一个电子商务网站,我是否为每个订单创建一个文件?还是一个包含所有订单并不断附加到其中的文件? 我还应该期待平面格式吗?或者我可以对这些文件中的数据做更多的 NoSQL 类型的事情吗? 每次我查询时,它仍然从文件中获取数据吗?意思是,假设我运行查询 1...更新现有文件..并再次运行查询。我会得到不同的结果吗?或者数据是否已经以某种方式被提取到频谱中?

【问题讨论】:

【参考方案1】:

来自Creating Data Files for Queries in Amazon Redshift Spectrum - Amazon Redshift:

Redshift Spectrum 支持以下结构化和半结构化数据格式:

AVRO 镶木地板 文本文件 序列文件 RCFILE RegexSerDe 优化的行列式 (ORC) Grok OpenCSV 离子 JSON

使用 CREATE EXTERNAL TABLE 时,您指定 Amazon S3 存储桶和路径。该路径(目录)中的所有文件都将包含在查询中。如果添加/更改/删除文件,则下次运行查询时,将包含新/修改的数据,因为 Redshift Spectrum 始终查看存储在 S3 中的文件。

Amazon Redshift Spectrum 类似于 Amazon Athena。它们都允许您对存储在 Amazon S3 存储桶中的文件运行 SQL 查询。

【讨论】:

以上是关于Redshift Spectrum 读取文件的数据格式是啥?的主要内容,如果未能解决你的问题,请参考以下文章

AWS Redshift Spectrum 十进制类型读取 parquet double 类型

“解析列类型时出错”Redshift Spectrum

Redshift Spectrum 为查询扫描的数据大小

Redshift Spectrum 在创建嵌套数据时出现语法错误

Redshift Spectrum 比 Athena 慢很多?

Redshift Spectrum 性能对比 Athena