我面临着在红移频谱上频繁Disk Full error的问题,因此,我不得不反复扩容集群。缓存似乎会被删除。 理想情况下,我希望向上扩展以保持缓存,并找到一种方法来了解查询需要多少磁盘空间。 有没有什么文档谈到了红移频谱的缓存,或者他们正在使用相同的机制来进行红移? 编辑:应Jon Scott的要求,我正在更新我的问题 SELECT p.postcode,
SUM(p.like_count),
COUNT(l.id)
FROM post AS p
INNER JOIN likes AS l
ON l.postcode = p.postcode
GR
我们的数据以没有分区的JSON形式存储在S3中。直到今天,我们只使用雅典娜,但现在我们尝试红移光谱。
我们正在运行相同的查询两次。一次使用红移光谱,一次使用雅典娜。两者都连接到S3中的相同数据。
使用红移频谱,这个报告需要永远(超过15分钟)的运行和使用雅典娜,它只需要10秒的运行。
我们在aws控制台中运行的两种情况下的查询如下:
SELECT "events"."persistentid" AS "persistentid",
SUM(1) AS "sum_number_of_reco"
FROM "analyti
在单个表上有一个不同的查询。
select distinct d, e, f, a, b, c from t where a = 1 and e = 2;
在cols a,b,c中的不同值的个数高(高列基数),而cols d,e,f是低基数列。我的数据是S3格式的ORC格式,我在雅典娜和红移谱中有外部表指向同一个文件。
当上面的查询在雅典娜中运行时,它会在几秒内返回,而在红移谱中则需要几分钟。
但是当我移到选择列表的末尾时,它在红移光谱中也能很好地工作。这种情况只发生在这个特定的列中,我的意思是在结尾移动d或e不会有任何区别,即它们运行的时间更长。col和其他列一样是varchar列,该列的最
我有拼板文件,需要加载到红移使用复制命令。由于频谱扫描错误,命令失败。因此,如果有任何导致错误的情况,我希望忽略该文件。
是否有任何方法可以忽略记录/最大错误选项,在红移复制命令,为拼板文件加载?
COPY <targettablename> from '<s3 path>' iam_role 'arn:aws:iam::1232432' format as parquet maxerror 250
错误:-基于拼花的副本不支持MAXERROR参数
我希望外面的人能帮我解决这个问题。我目前正在从事一个数据管道项目,我目前的两难处境是与雅典娜一起使用拼板,还是将其存储到Redshift。
2种情况:第一,
EVENTS --> STORE IT IN S3 AS JSON.GZ --> USE SPARK(EMR) TO CONVERT TO PARQUET --> STORE PARQUET BACK INTO S3 --> ATHENA FOR QUERY --> VIZ
第二,
EVENTS --> STORE IT IN S3 --> USE SPARK(EMR) TO STORE DATA
我有一个文本字段,在拼花文件最大长度141598。我正在加载拼花文件,以红移,并得到错误,而加载时,最大的一个varchar可以存储是65535。是否还有其他数据类型可供我使用或另一种选择?
加载时出错:
S3 Query Exception (Fetch). Task failed due to an internal error. The length of the data column friends is longer than the length defined in the table. Table: 65535, Data: 141598
因此,我试图对红移光谱运行以下简单查询:
select * from company.vehicles where vehicle_id is not null
并返回0行(表中的所有行都为null)。但是,当我在雅典娜上运行相同的查询时,它可以很好地工作并返回结果。试过msck修复,但雅典娜和红移都使用相同的亚稳态,所以这不重要。我也没看到任何错误。
文件的格式是orc。
create表查询是:
CREATE EXTERNAL TABLE 'vehicles'(
'vehicle_id' bigint,
'parent_id' big
我必须将数以百万计的记录加载到redshift DB中(这是必须的),这样做的最有效/最快的方法是什么?现在,我正在创建一个字典,在其中存储行块,这些行被抛到字符串中,这样我就可以将它们放在查询字符串中,然后使用Pandas这样的方法:
with psycopg2.connect(prs.rs_conection_params_psycopg2) as conn:
with conn.cursor() as c:
c.execute(query_create_empty_main_table)
for chunk in df_chunks.keys()