标签: amazon-redshift

如何在Redshift上查看授权

我想查看红移补助金.

我找到了postgres的这个视图:

CREATE OR REPLACE VIEW view_all_grants AS 
SELECT 
  use.usename as subject, 
  nsp.nspname as namespace, 
  c.relname as item, 
  c.relkind as type, 
  use2.usename as owner, 
  c.relacl, 
  (use2.usename != use.usename and c.relacl::text !~ ('({|,)' || use.usename || '=')) as public
FROM 
  pg_user use 
  cross join pg_class c 
  left join pg_namespace nsp on (c.relnamespace = nsp.oid) 
  left join pg_user use2 on (c.relowner = use2.usesysid)
WHERE 
  c.relowner = use.usesysid or 
  c.relacl::text ~ ('({|,)(|' || use.usename || ')=') 
ORDER BY 
  subject, 
  namespace, 
  item …
Run Code Online (Sandbox Code Playgroud)

sql amazon-redshift

28
推荐指数
4
解决办法
4万
查看次数

亚马逊s3和亚马逊红移之间的区别

我第一次学习亚马逊网络服务.我想知道Amazon s3和Amazon Redshift之间的区别或关系.提前致谢.

amazon-s3 amazon-web-services amazon-redshift

28
推荐指数
1
解决办法
2万
查看次数

拥有多个sortkey列意味着什么?

Redshift允许将多个列指定为SORTKEY列,但大多数最佳实践文档都被编写为好像只有一个SORTKEY.

如果我创建一个表SORTKEY (COL1, COL2),是否意味着所有列都按COL1排序,那么COL2?或者,因为它是一个柱状存储,每列都以不同的顺序存储?即COL1顺序为COL1,COL2顺序为COL2,其他列无序?

我的情况是我有一个表(其中包括)type_id和timestamp列.数据大致按时间戳顺序到达.大多数查询都是由type_id和timestamp加入/限制的.通常,type_id子句更具体,这意味着可以通过查看type_id子句而不是通过查看timestamp子句来排除更大比例的行.因此,type_id是DISTKEY.我想了解的优点和缺点的SORTKEY (type_id),SORTKEY (stamp),SORTKEY (type_id,stamp),SORTKEY (stamp,type_id).

谢谢.

amazon-redshift

27
推荐指数
2
解决办法
1万
查看次数

使用标题从redshift卸载到s3

我已经知道如何将文件从redshift卸载到s3中作为一个文件.我需要知道如何使用列标题卸载.谁能请帮忙或给我一个线索?

我不想在shell或python中手动完成它.

amazon-redshift

27
推荐指数
5
解决办法
3万
查看次数

红移.将逗号分隔的值转换为行

我想知道如何将逗号分隔的值转换为Redshift中的行.我担心我自己的解决方案不是最优的.请指教.我有一个表与其中一个具有逗号分隔值的列.例如:

我有:

user_id|user_name|user_action
-----------------------------
1      | Shone   | start,stop,cancell...
Run Code Online (Sandbox Code Playgroud)

我想看看

user_id|user_name|parsed_action 
------------------------------- 
1      | Shone   | start        
1      | Shone   | stop         
1      | Shone   | cancell      
....
Run Code Online (Sandbox Code Playgroud)

amazon-redshift

27
推荐指数
2
解决办法
1万
查看次数

在RedShift中声明一个变量

SQL Server 能够声明一个变量,然后在查询中调用该变量,如下所示:

DECLARE @StartDate date;
SET @StartDate = '2015-01-01';

SELECT *
FROM Orders
WHERE OrderDate >= @StartDate;
Run Code Online (Sandbox Code Playgroud)

这个功能在亚马逊的RedShift中有效吗?从文档中看,它看起来DECLARE仅用于游标. SET看起来是我正在寻找的功能,但当我尝试使用它时,我收到一个错误.

set session StartDate = '2015-01-01';
 [Error Code: 500310, SQL State: 42704]  [Amazon](500310) Invalid operation: unrecognized configuration parameter "startdate";
Run Code Online (Sandbox Code Playgroud)

有可能这样做RedShift吗?

amazon-redshift

26
推荐指数
5
解决办法
4万
查看次数

如何将epoch转换为datetime redshift?

我在dbeaver工作.我有一张桌子x.

表x有一列"timestamp"

1464800406459 
1464800400452 
1464800414056 
1464800422854 
1464800411797
Run Code Online (Sandbox Code Playgroud)

我想要的结果:

Wed, 01 Jun 2016 17:00:06.459 GMT
Wed, 01 Jun 2016 17:00:00.452 GMT
Wed, 01 Jun 2016 17:00:14.056 GMT
Wed, 01 Jun 2016 17:00:22.854 GMT 
Wed, 01 Jun 2016 17:00:11.797 GMT 
Run Code Online (Sandbox Code Playgroud)

我试过redshift查询

SELECT FROM_UNIXTIME(x.timestamp) as x_date_time 
FROM x
Run Code Online (Sandbox Code Playgroud)

但没有奏效.

发生了错误:

无效操作:函数from_unixtime(字符变化)不存在

我也试过了

SELECT DATE_FORMAT(x.timestamp, '%d/%m/%Y') as x_date 
FROM x
Run Code Online (Sandbox Code Playgroud)

发生了错误:

操作无效:函数date_format(字符变化,"未知")不存在

语法有什么问题吗?或者有另一种方式转换为人类可读的日期和时间?

提前致谢

datetime epoch amazon-redshift

26
推荐指数
3
解决办法
3万
查看次数

将数据(递增地)加载到Amazon Redshift,S3与DynamoDB vs Insert中

我有一个网络应用程序,需要发送其使用情况的报告,我想使用Amazon RedShift作为数据仓库,我应该如何收集数据?

每次,用户与我的应用程序交互,我想报告..所以我什么时候应该将文件写入S3?多少钱?我的意思是: - 如果不立即发送信息,那么我可能会因为连接丢失而失去它,或者我的系统中的一些错误被收集并准备好发送到S3 ... - 如果我在每次用户交互时都将文件写入S3,我最终会得到数百个文件(每个文件都有最少的数据),需要在复制到RedShift后进行管理,排序,删除..这似乎不太像一个好的解决方案

我错过了什么?我应该使用DynamoDB,我应该使用简单的插入到Redshift中吗?
如果我确实需要将数据写入DynamoDB,我应该在复制后删除保留表.最佳做法是什么?

在任何情况下,哪些是避免RedShift中数据重复的最佳实践?

感谢帮助!

amazon-s3 amazon-ec2 amazon-web-services amazon-dynamodb amazon-redshift

25
推荐指数
2
解决办法
2万
查看次数

如何在Amazon Redshift中创建索引

我正在尝试在Amazon Redshift中创建索引但是我收到了一个错误

create index on session_log(UserId);
Run Code Online (Sandbox Code Playgroud)

UserId 是一个整数字段.

sql indexing amazon-web-services amazon-redshift

23
推荐指数
1
解决办法
4万
查看次数

BigQuery替代中型数据

这是为什么BigQuery在小数据集上表现不佳的问题的后续问题.

假设我有一个大约1M行的数据集.在我们正在使用的当前数据库(mysql)中,聚合查询运行速度很慢,可能需要大约10秒左右的复杂聚合.在BigQuery上,所需的初始化时间可能会使这个查询花费大约3秒,比在mysql中更好,但是如果我们需要在1s或更低版本中返回查询,那么该工作的工具是错误的.

那么我的问题是,使用BigQuery对中等大小的数据集(例如1-10M行)进行聚合查询会有什么好的选择?示例查询可能是:

SELECT studio, territory, count(*)
FROM mytable
GROUP BY studio, territory
ORDER BY count(*) DESC
Run Code Online (Sandbox Code Playgroud)

我想到的可能解决方案是ElasticSearch(https://github.com/NLPchina/elasticsearch-sql)和Redshift(postgres太慢).什么是可以通过SQL查询的好选择?

注意:我不是在寻找为什么如何使用 BQ,我正在寻找10M行以下数据集的替代方案,其中查询可以在~1s内返回.

mysql sql google-bigquery amazon-redshift

23
推荐指数
3
解决办法
1670
查看次数