问题标签 [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.

0 投票
0 回答
119 浏览

amazon-web-services - 如何在 S3 中为 Amazon Redshift Spectrum 存储一对多实体数据

我的要求是将数据存储到 S3 并使用 Amazon Redshift Spectrum 对 S3 数据执行查询。我的数据是用一对多和多对多建模的。例如考虑以下 SQL 模式

我需要一种更好的方法来将这些数据存储在 S3 中。这样我就可以通过 Redshift Spectrum 轻松地将这些加载到 Redshift 中以执行 JOIN 查询。

注意:数据将按计划插入 S3。Redshift 应该保持与我的模型中相同的外键约束。数据可以以任何顺序插入到 S3 中。那是用户数据之前的 user_phones 数据。

期待更好的方法在 Redshift 中存储 S3 和计算数据

0 投票
1 回答
708 浏览

hive - Redshift Spectrum 和 Hive Metastore - 模棱两可的错误

在 Redshift 中,我使用 Hive Metastore 创建了一个外部模式。我可以看到有关表的 Redshift 元数据(例如使用:select * from SVV_EXTERNAL_TABLES),但是在查询其中一个表时,我收到一个模棱两可的错误“错误:断言”

我尝试创建外部模式并查询表。我可以查询有关表的元数据,但实际上不能查询表本身。

我创建了如下外部模式:

这是运行“select * from hive_schema.my_table_name;”时的错误消息

0 投票
1 回答
183 浏览

amazon-web-services - 如何使用 AWS RedShift Spectrum 为 S3 存储建模以进行查询

usersMySQL 数据库中存在一个表。

我们希望将数据迁移到 Amazon S3 中,以便使用 Amazon Redshift 进行进一步分析。

  • Day1 - 从 users 表中导出 10 行数据(总行数:10)
  • 第 2 天 - 从 users 表中导出 2 行额外的数据(总行数:12)
  • 第 3 天 - 从 users 表中导出修改后的行和新行数据(总行数:13)

建议的 S3 数据文件夹/命名约定:

Amazon Redshift 按如下方式加载数据以查询用户的所有行:

问题:

  1. 我们假设第 3 天修改的行将优先于第 1 天可用的数据?
  2. 如果在 Day4 删除了 2 条现有的行,这应该如何存储在 Redshift 可以理解的 S3 中?
0 投票
3 回答
1044 浏览

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

我正在使用这个查询

不知何故,上面的查询给了我

删除或添加冒号和/或双引号仍然会给我错误。

任何帮助表示赞赏!

0 投票
1 回答
719 浏览

amazon-web-services - 从 Redshift Spectrum 获取“磁盘已满”错误

我面临Disk Full errorRedshift Spectrum 频繁上的问题,因此我不得不反复扩展集群。似乎缓存将被删除。

理想情况下,我希望扩大规模以保持缓存,并找到一种方法来了解查询中需要多少磁盘空间。

是否有任何文档讨论 Redshift Spectrum 的缓存,或者他们使用与 Redshift 相同的机制?

编辑:应乔恩斯科特的要求,我正在更新我的问题

S3 上的压缩数据总量约为 1.8 TB。Athena 花了 10 分钟,扫描了 700 GB 并告诉我Query exhausted resources at this scale factor

编辑 2:我使用了 16 TB SSD 集群。

0 投票
1 回答
185 浏览

amazon-web-services - 从两个位置选择数据

我需要在 S3 上使用 Redshift Spectrum 获取数据。但是,我需要使用两个不同的文件夹(2018 / 2019)。我怎样才能在“位置”部分同时考虑?

现在我有:

但是,我也想要 's3://myfolder/2018/'

我能怎么做 ?

0 投票
0 回答
483 浏览

amazon-web-services - Redshift 频谱添加在键中具有特定前缀的分区

我有以下格式的密钥:

s3://bucket/source/2019/01/01/xyz_20190101.csv s3://bucket/source/2019/01/01/mno_20190101.csv s3://bucket/source/2019/01/02/xyz_20190102。 csv s3://bucket/source/2019/01/02/mno_20190102.csv

但是当我使用以下命令添加分区时,xyz_20190101.csv 和 mno_20190101.csv 都被加载到外部表中,但我只希望加载 xyz:

有没有办法让红移光谱只加载带有前缀的所需键而不是所有键?

更新:

我的创建查询是:

然后我运行前面提到的 alter table 来添加分区。

0 投票
1 回答
2869 浏览

amazon-web-services - Amazon EMR 与 Amazon Redshift

对于大多数用例,可以使用 Amazon EMR 对流数据或有界数据(例如来自 Amazon S3)进行 Spark 转换,然后可以使用转换后的数据再次将数据写入 S3。

转换也可以在 Amazon Redshift 中实现,使用来自 S3 的不同数据加载到不同的 Redshift 表,然后将来自不同 Redshift 表的数据加载到最终表。(现在有了 Redshift 光谱,我们也可以直接从 S3 中选择和转换数据。)

话虽如此,我看到转换可以在 EMR 和 Redshift 中完成,Redshift 加载和转换可以用更少的开发时间完成。

那么,EMR 是否应该用于主要涉及流/无限数据的用例?什么其他用例更适合 EMR(我知道 Spark 也提供其他核心、sql、ml 库),但只是为了实现转换(涉及连接/减速器),我没有看到除此之外的用例在 EMR 中进行流式传输,此时在 Redshift 中也可以实现转换。

请提供使用 EMR 转换与 Redshift 转换的用例。

0 投票
1 回答
334 浏览

amazon-web-services - 暂存您在 Redshift 中更新的表的最佳方法

关于在 Redshift 中为更新-插入-删除方法(持续使用)过程在 Redshift 中暂存表的最佳方法的早期想法的一个简短问题。

谢谢

0 投票
1 回答
295 浏览

apache-spark - 将 Spark 架构转换为 Redshift Spectrum 嵌套架构

在 EMR 集群上使用 Apache Spark,我读入了 xml 数据,推断了模式,并将其以 parquet 格式存储在 s3 上。它现在基本上是一个嵌套表。

使用 Spark,我有架构。我现在希望能够创建一个外部表供 Redshift Spectrum 查询。

如何将架构从 Spark 提供的格式转换为 Redshift Spectrum 的 CREATE EXTERNAL TABLE 语句所需的格式?

当我处理多个“外部表”时,手动干扰模式不是一种选择。

我无法找到任何现有工具来执行从 Spark 模式格式到 Redshift Spectrum 外部表格式的转换(请参阅Amazon Nested Table Tutorial

Spark 模式是一个pyspark.sql.types.StructType 我可以将模式转换schema为 jsonschema.jsonValue()并编写一个工具来进行转换,但如果有一个现有的工具可以做到这一点,我更愿意使用它。

有什么想法/建议吗?