我想在 Amazon Quick Sight 中联接数据来源,但我遇到了问题。
简短描述
以下是可能导致您无法在 Amazon Quick Sight 中联接不同来源的数据的常见场景:
- 您在“编辑数据集”页面上看不到“添加数据”按钮和网格面板。
- 您使用了地理字段。
- 您尝试通过两个 Amazon 数据集创建第三个数据集。
- Quick Sight 的联接内存不足。
- 您遇到重复列或模糊列错误。
解决方法
您无法在“编辑数据集”页面上看到“添加数据”和网格面板
如果您看不到 Add data(添加数据)按钮和编辑面板,则必须向数据集所有者请求访问数据来源。
要与其他用户共享您拥有的数据集,请完成以下步骤:
- 打开 Amazon Quick Sight 控制台。
- 选择 Datasets(数据集),然后选择 New dataset(新数据集)。
- 选择要共享的数据集。
- 选择共享数据来源,然后选择邀请用户。
- 输入用户名和所需权限。
- 选择 Share(共享)。
要向数据集添加更多数据,请完成以下步骤:
- 打开数据集,然后选择 Edit dataset(编辑数据集)。
- 在“数据准备”页面上,选择 Add data(添加数据)。
- 选择要添加数据的方式。您可以从数据集、数据来源中添加它或上传文件。
**注意:**您也可以选择“使用自定义 SQL”打开查询编辑器,然后为 SQL 数据来源编写查询。
- 选择红点以配置联接。
- 选择您的首选联接类型: 内部、左侧、右侧或全部。
- 选择 Apply(应用)。
您使用了地理字段
联接界面不支持地理字段。要解决此问题,请完成以下步骤:
- 将数据类型从 Geospatial(地理空间)更改为 String(字符串)。
- 应用您的首选加入类型。
- 返回数据集页面,然后选择数据集。
- 选择在新数据集中使用,以在父数据集中创建新的子数据集。
- 将字段类型改回地理空间。
- 选择保存。
有关更多信息,请参阅 Adding geospatial data。
您尝试从两个数据集创建第三个数据集
您无法通过联接两个数据集来创建第三个数据集。但是,对于 Amazon Athena 数据集,请完成以下步骤:
- 在 Athena 中编写查询以联接两个表,然后创建视图。
- 在视图上创建 Athena 数据来源。
- 编写自定义 SQL,然后使用新的 Athena 数据来源在 Quick Sight 中创建数据集。
QuickSight 的联接内存不足
要联接包含不同来源的表,且未存储在 SPICE 中的跨数据源数据集,仅允许其中一个数据集大于 1 GB。如果超过一个数据集大于 1 GB,则会导致 Quick Sight 内存不足。要解决此问题,请使用自定义 SQL 查询来联接这些数据集。
如果联接两个存储在 SPICE 中的数据集,则联接中所有次要表的总大小不能超过 20GB。有关详细信息,请参阅 Joining data(联接数据)。
如果您要联接大型表,则最佳做法是先在数据库中运行联接条件查询。然后,创建表或视图,最后基于该表或视图中在 Quick Sight 中创建数据集。
有关详细信息,请参阅 Joining across data sources on Amazon Quick Sight(Amazon Quick Sight 中的跨数据来源联接)。
您遇到重复列或模糊列错误
您收到以下重复列错误:
“ERROR - Duplicate column name 'column name'”
以下示例查询会导致重复列错误:
select * from schema.sales, schema.date where sales.dateid = date.dateid;
您收到以下模糊列错误:
“ERROR - column reference "dateid" is ambiguous”
以下示例查询会导致模糊列错误:
select sid, dateid from schema.sales, schema.date, schema.users where sales.sid = users.userid and dateid = dateid and year = 2010 and city = 'dallas';
当表名或别名未限定常用列名时,会出现重复和模糊的列错误。要解决重复和不明确的列错误,请指定联接的列名称,并以表名或别名作为限定符。
相关信息
Data source connectivity issues for Amazon Quick Sight(Amazon Quick Sight 的数据来源连接问题)
如何解决 Quick Sight 中自定义 SQL 数据来源的 SQL 异常错误?
如何解决在 Quick Sight 中使用 Athena 作为数据来源时出现的“Access denied”错误?