问题标签 [amazon-redshift-spectrum]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 将 Parquet 文件加载到 Redshift
我在 S3 上有一堆 Parquet 文件,我想以最佳方式将它们加载到 redshift 中。
每个文件被分成多个块......将数据从 S3 加载到 Redshift 的最佳方式是什么?
另外,如何在 Redshift 中创建目标表定义?有没有办法从 Parquet 推断模式并以编程方式创建表?我相信有一种方法可以使用 Redshift 频谱来做到这一点,但我想知道这是否可以在脚本中完成。
感谢你的帮助!
我正在考虑使用所有 AWS 工具(例如 Glue、Lambda 等)以最佳方式执行此操作(在性能、安全性和成本方面)。
python - 镶木地板文件中的 Redshift 外部表显示字符串数据类型的空值
我正在 Redshift 中创建一个外部表,指向存储在 S3 中的 Parquet 文件。parquet 文件是使用 pyarrow 创建的。当我 SELECT * 在“时间戳”下方定义的外部表有效但“anonymous_id”(VARCHAR)为空时。这同样适用于任何 VARCHAR。
镶木地板模式是:
知道为什么会这样吗?STL_S3CLIENT_ERROR 说:
非常感谢您的帮助!
python - 如何在卸载中转义单引号
我正在尝试执行上述脚本来读取表,然后在 S3 中创建一个文件
由于我的列是字符串,我无法跳过单引号,并且在 where 附近出现语法错误
另外,我尝试在 where 条件下给出 \ 仍然显示相同的错误。
任何帮助将不胜感激。
谢谢
amazon-s3 - 我可以在 redshift 中为外部表添加别名以删除架构名称吗?
我们想将表迁移到 Spectrum,这需要定义一个外部模式
我在 Redshift 中创建了一个外部表,如下所示:
是否可以给表起别名,以便在查询时可以调用它my_table_alias
而不是spectrum.my_table
? 基本上,我们希望对 Redshift 实例的客户端不透明地更改外部表(这意味着我们无法更改表名)。非常感谢你的帮助!
postgresql - 将数据从 PostgreSQL 移动到 AWS S3 并使用 RedShift Spectrum 进行分析
我有大量具有不同模式的 PostgreSQL 表以及其中的大量数据。
我现在无法进行数据分析,因为数据量非常大 - 几 TB 的数据,而 PostgreSQL 无法在合理的时间内处理查询。
我正在考虑以下方法 - 我将使用 Apache Spark 处理我的所有 PostgreSQL 表,加载 DataFrame 并将它们作为 Parquet 文件存储在 AWS S3 中。然后我将使用 RedShift Spectrum 来查询存储在这些 PARQUET 文件中的信息。
首先,我想问一下——这个解决方案会起作用吗?
第二个 - RedShift Spectrum 是否能够从这些 Parquet 文件自动创建 EXTERNAL 表而无需额外的架构规范(即使原始 PostgreSQL 表包含 AWS RedShift 不支持的数据类型)?
amazon-web-services - 通过架构更改在 S3 和 Redshift 之间卸载和重新加载数据
我有兴趣设置一些自动化作业,这些作业将定期从我们的 Redshift 实例中导出数据并将其存储在 S3 上,理想情况下,它将通过在 Redshift Spectrum 中运行的外部表重新回到 Redshift。我不确定如何最好地处理的一件事是,我正在使用的某些表会随着时间的推移而改变模式。
我能够毫无问题地将数据从 Redshift 卸载到 S3,而且我还能够在 Redshift 中设置一个外部表,并使 S3 数据可用于查询。但是,我不确定如何最好地处理我们的表会随着时间的推移更改列的情况。例如,对于我们通过 Segment 捕获的某些事件数据,添加的特征将导致 Redshift 表上的新列在以前的 UNLOAD 中不存在。在 Redshift 中,在列存在之前进入的数据的列值只会导致 NULL 值。
随着时间的推移,处理这种数据结构逐渐变化的最佳方法是什么?如果我只是更新外部表中的新字段,Redshift 将能够处理这些字段不一定存在于较旧的 UNLOAD 上的事实,还是我需要走其他路线?
sql - Amazon Spectrum 直接从字符串增量加载
我从光谱中取了一个字段作为“文件名 Pro_180913_171842”。尝试了sql中的功能,例如
但它只返回空行!