我想查看红移补助金.
我找到了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) 我第一次学习亚马逊网络服务.我想知道Amazon s3和Amazon Redshift之间的区别或关系.提前致谢.
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)
.
谢谢.
我已经知道如何将文件从redshift卸载到s3中作为一个文件.我需要知道如何使用列标题卸载.谁能请帮忙或给我一个线索?
我不想在shell或python中手动完成它.
我想知道如何将逗号分隔的值转换为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) 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
吗?
我在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(字符变化,"未知")不存在
语法有什么问题吗?或者有另一种方式转换为人类可读的日期和时间?
提前致谢
我有一个网络应用程序,需要发送其使用情况的报告,我想使用Amazon RedShift作为数据仓库,我应该如何收集数据?
每次,用户与我的应用程序交互,我想报告..所以我什么时候应该将文件写入S3?多少钱?我的意思是: - 如果不立即发送信息,那么我可能会因为连接丢失而失去它,或者我的系统中的一些错误被收集并准备好发送到S3 ... - 如果我在每次用户交互时都将文件写入S3,我最终会得到数百个文件(每个文件都有最少的数据),需要在复制到RedShift后进行管理,排序,删除..这似乎不太像一个好的解决方案
我错过了什么?我应该使用DynamoDB,我应该使用简单的插入到Redshift中吗?
如果我确实需要将数据写入DynamoDB,我应该在复制后删除保留表.最佳做法是什么?
在任何情况下,哪些是避免RedShift中数据重复的最佳实践?
感谢帮助!
amazon-s3 amazon-ec2 amazon-web-services amazon-dynamodb amazon-redshift
我正在尝试在Amazon Redshift中创建索引但是我收到了一个错误
create index on session_log(UserId);
Run Code Online (Sandbox Code Playgroud)
UserId
是一个整数字段.
这是为什么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内返回.
amazon-redshift ×10
sql ×3
amazon-s3 ×2
amazon-ec2 ×1
datetime ×1
epoch ×1
indexing ×1
mysql ×1