问题标签 [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 - 如何在 S3 中为 Amazon Redshift Spectrum 存储一对多实体数据
我的要求是将数据存储到 S3 并使用 Amazon Redshift Spectrum 对 S3 数据执行查询。我的数据是用一对多和多对多建模的。例如考虑以下 SQL 模式
我需要一种更好的方法来将这些数据存储在 S3 中。这样我就可以通过 Redshift Spectrum 轻松地将这些加载到 Redshift 中以执行 JOIN 查询。
注意:数据将按计划插入 S3。Redshift 应该保持与我的模型中相同的外键约束。数据可以以任何顺序插入到 S3 中。那是用户数据之前的 user_phones 数据。
期待更好的方法在 Redshift 中存储 S3 和计算数据
hive - Redshift Spectrum 和 Hive Metastore - 模棱两可的错误
在 Redshift 中,我使用 Hive Metastore 创建了一个外部模式。我可以看到有关表的 Redshift 元数据(例如使用:select * from SVV_EXTERNAL_TABLES),但是在查询其中一个表时,我收到一个模棱两可的错误“错误:断言”
我尝试创建外部模式并查询表。我可以查询有关表的元数据,但实际上不能查询表本身。
我创建了如下外部模式:
这是运行“select * from hive_schema.my_table_name;”时的错误消息
amazon-web-services - 如何使用 AWS RedShift Spectrum 为 S3 存储建模以进行查询
users
MySQL 数据库中存在一个表。
我们希望将数据迁移到 Amazon S3 中,以便使用 Amazon Redshift 进行进一步分析。
- Day1 - 从 users 表中导出 10 行数据(总行数:10)
- 第 2 天 - 从 users 表中导出 2 行额外的数据(总行数:12)
- 第 3 天 - 从 users 表中导出修改后的行和新行数据(总行数:13)
建议的 S3 数据文件夹/命名约定:
Amazon Redshift 按如下方式加载数据以查询用户的所有行:
问题:
- 我们假设第 3 天修改的行将优先于第 1 天可用的数据?
- 如果在 Day4 删除了 2 条现有的行,这应该如何存储在 Redshift 可以理解的 S3 中?
amazon-web-services - Redshift Spectrum 在创建嵌套数据时出现语法错误
我正在使用这个查询
不知何故,上面的查询给了我
删除或添加冒号和/或双引号仍然会给我错误。
任何帮助表示赞赏!
amazon-web-services - 从 Redshift Spectrum 获取“磁盘已满”错误
我面临Disk Full error
Redshift Spectrum 频繁上的问题,因此我不得不反复扩展集群。似乎缓存将被删除。
理想情况下,我希望扩大规模以保持缓存,并找到一种方法来了解查询中需要多少磁盘空间。
是否有任何文档讨论 Redshift Spectrum 的缓存,或者他们使用与 Redshift 相同的机制?
编辑:应乔恩斯科特的要求,我正在更新我的问题
S3 上的压缩数据总量约为 1.8 TB。Athena 花了 10 分钟,扫描了 700 GB 并告诉我Query exhausted resources at this scale factor
编辑 2:我使用了 16 TB SSD 集群。
amazon-web-services - 从两个位置选择数据
我需要在 S3 上使用 Redshift Spectrum 获取数据。但是,我需要使用两个不同的文件夹(2018 / 2019)。我怎样才能在“位置”部分同时考虑?
现在我有:
但是,我也想要 's3://myfolder/2018/'
我能怎么做 ?
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 来添加分区。
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 转换的用例。
amazon-web-services - 暂存您在 Redshift 中更新的表的最佳方法
关于在 Redshift 中为更新-插入-删除方法(持续使用)过程在 Redshift 中暂存表的最佳方法的早期想法的一个简短问题。
谢谢
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()
并编写一个工具来进行转换,但如果有一个现有的工具可以做到这一点,我更愿意使用它。
有什么想法/建议吗?