我想将数据加载到amazon redshift外部表.数据采用CSV格式并带引号.我们是否有类似REMOVEQUOTES的东西,我们在redshift外部表的复制命令中有.还有什么是在外部表中加载固定长度数据的不同选项.
amazon-web-services amazon-redshift amazon-redshift-spectrum
我们使用 UNLOAD 命令对基于 s3 的外部表运行一些转换,并将数据以 PARQUET 格式发布到不同的 s3 存储桶中。
我在卸载操作中使用 ALLOWOVERWRITE 选项来替换文件(如果它们已存在)。这在大多数情况下都可以正常工作,但有时会为相同的数据插入重复的文件,这会导致外部表显示重复的数字。
例如,如果分区中的 parquet 是包含完整数据的 0000_part_00.parquet。在下一次运行中,卸载预计会覆盖此文件,但会插入新文件 0000_part_01.parquet,这会使总输出加倍。
如果我只是清理整个分区并再次重新运行,这将不会重复。这种不一致使我们的系统不可靠。
unload (<simple select statement>)
to 's3://<s3 bucket>/<prefix>/'
iam_role '<iam-role>' allowoverwrite
PARQUET
PARTITION BY (partition_col1, partition_col2);
Run Code Online (Sandbox Code Playgroud)
谢谢。
我对 Redshift 服务还很陌生,并且对何时使用或将哪些数据放入 Spectrum 感到非常困惑。
假设我在 Redshift 上有星型模式数据仓库,我应该将事实表或暗表放入 Spectrum(来自 s3 的外部表)中以进行存储优化吗?或者通常数据仓库具有不同的层,例如:登陆、暂存或数据仓库。我们是否应该将其他层的数据放入 Spectrum,只将星型模式数据放入 Redshift。
由于 S3 中的数据仅被附加,我们是否需要安装 apachi hudi 或 delta Lake 才能与 Redshift Spectrum 配合使用?
我找到了一篇 aws 文章:https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/,如下所述,但仍然不清楚。
一些好的用例如下:
- 数据量大但访问频率较低的数据 大量扫描和
- 聚合密集型查询 可以使用的选择性查询
- 分区剪枝和谓词下推,因此输出相当小
任何人都可以提供现实世界的例子来解释吗?谢谢
spectrum amazon-web-services amazon-redshift amazon-redshift-spectrum delta-lake
特别是收到此错误:
错误:调用外部目录 API 时出错:分区键的数量与分区值的数量不匹配
我有一个这样的数据集。
对于每个 SessionID 和 VisitID,它应该根据 date_time 列进行排序,并为我提供第一个类别和最后一个类别。
我使用了以下代码
rank() OVER( PARTITION BY SessionID
, VisitID
ORDER by
date_Time DESC ) as click_rank_last
where click_rank_last = 1
Run Code Online (Sandbox Code Playgroud)
获取最后一个类别。但我需要的是在单个查询中获取第一个和最后一个,对数据库的影响最小,因为数据很大并且查询成本很高。
需要最优化的查询!
对于大多数用例,可以使用 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 amazon-emr amazon-redshift amazon-redshift-spectrum
我是 Redshift 的新手,对 Redshift 的运作方式有一些说明:
Amazon Redshift 是否有自己的后端存储平台,还是依赖 S3 将数据存储为对象,而 Redshift 仅用于查询、处理和转换,并具有临时存储以从 S3 中获取特定切片并进行处理?
从某种意义上说,redshift 是否拥有自己的后端云空间,如 oracle 或 Microsoft SQL 拥有自己的物理服务器来存储数据?
因为,如果我由于容量增加而从传统的 RDBMS 系统迁移到 Redshift,如果我单独选择 Redshift 会或者我应该选择 Redshift 和 S3 的组合。
这个问题似乎很基本,但我无法在 Amazon 网站或任何与 Redshift 相关的博客中找到答案。
amazon-web-services amazon-redshift amazon-redshift-spectrum
我有一个表,即3列email_id,rid,final_id。
rid和的规则final_id:
email_id具有对应的rid,则rid用作final_id。email_id没有对应的数字rid(即为ridnull),请生成一个唯一的12位数字并将其插入final_id字段。如何在redshift中生成12位唯一数字?
amazon-web-services amazon-redshift amazon-redshift-spectrum
我们的数据以 JSON 形式存储在 S3 中,没有分区。直到今天我们只使用 athena,但现在我们尝试了 Redshift Spectrum。
我们运行相同的查询两次。一次使用 Redshift Spectrum,一次使用 Athena。两者都连接到 S3 中的相同数据。
使用 Redshift Spectrum,此报告需要永远运行(超过 15 分钟),而使用 Athena 只需 10 秒即可运行。
在这两种情况下,我们在 aws 控制台中运行的查询如下:
SELECT "events"."persistentid" AS "persistentid",
SUM(1) AS "sum_number_of_reco"
FROM "analytics"."events" "events"
GROUP BY "events"."persistentid"
Run Code Online (Sandbox Code Playgroud)
知道发生了什么事吗?谢谢
amazon-s3 tableau-api amazon-athena amazon-redshift-spectrum
我在频谱外部表的外部模式中创建视图时遇到问题。下面是我用来创建视图的脚本
create or replace view external_schema.test_view as
select id, name from external_schema.external_table with no schema binding;
Run Code Online (Sandbox Code Playgroud)
我得到以下错误
错误:未启用对外部架构中的本地对象的操作。
请帮助在频谱外部表下创建视图
sql amazon-web-services amazon-redshift amazon-redshift-spectrum
我正在尝试查询其中包含连字符的表。
我尝试过反引号和引号(`、'、"),但它们不起作用。
询问
select * from hubspot.contacts__form-submissions
错误信息:
Error running query: syntax error at or near "-" LINE 7: from hubspot.contacts__form-submissions ^
我没有写入权限,因此无法重命名该表。
关于如何查询这个有什么建议吗?
sql amazon-web-services amazon-redshift amazon-redshift-spectrum
我有一个Redshift用户,用户名为“ redshift_x”,想知道当前为该用户设置的连接限制。我尝试使用以下查询来查询它:
从pg_user中选择*,其中usename ='redshift_x';
但是此查询仅提供有关这些列的信息。usename,usesysid,usecreatedb,usesuper,usecatupd,passwd,valuntil和useconfig。
请让我知道从哪里可以看到该特定用户“ redshift_x”的连接限制。
amazon-web-services amazon-redshift amazon-redshift-spectrum
amazon-redshift ×10
sql ×3
amazon-s3 ×2
amazon-emr ×1
delta-lake ×1
spectrum ×1
tableau-api ×1