首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重复会导致AWS雅典娜(Presto)不同的SQL查询?

重复会导致AWS雅典娜(Presto)不同的SQL查询?
EN

Stack Overflow用户
提问于 2017-02-01 01:32:06
回答 2查看 12.1K关注 0票数 9

我在S3上有一堆文件,每一行只包含一个MD5s。我创建了一个AWS雅典娜表,以运行针对MD5s的去复制查询。在这些文件和表中总共有数亿的MD5s。

雅典娜表创建查询:

代码语言:javascript
运行
复制
CREATE EXTERNAL TABLE IF NOT EXISTS database.md5s (
  `md5` string 
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
  'serialization.format' = ',',
  'field.delim' = ','
) LOCATION 's3://bucket/folder/';

下面是我尝试过的所有"dedup“查询(这些都应该是相同的):

代码语言:javascript
运行
复制
SELECT DISTINCT md5
FROM md5s;`

SELECT md5
FROM md5s
GROUP BY md5;

SELECT md5
FROM md5s
GROUP BY DISTINCT md5;

SELECT DISTINCT md5
FROM md5s
GROUP BY DISTINCT md5;

雅典娜的所有结果输出.csvs仍然有重复的MD5s。怎么回事?

是雅典娜在做部分重复吗?--更奇怪的是,如果我在雅典娜执行COUNT(DISTINCT md5),我得到的计数与导出时返回的行数不同。

  • 雅典娜COUNT(DISTINCT md5):97,533,226
  • 不同MD5s出口记录: 97,581,616
  • 结果导出中有14,790个重复,因此--计数(不同)计数都是坏的,结果导出也是糟糕的。

是雅典娜创造的副本出口?-情节更加复杂。如果我查询雅典娜表中复制在雅典娜结果导出中的一个MD5s,我只能从表中得到一个结果/行。我用一个LIKE查询对此进行了测试,以确保空格不会导致问题。这意味着雅典娜正在向出口中添加副本。结果中从来没有超过两个相同的MD5。

代码语言:javascript
运行
复制
select
  md5,
  to_utf8(md5)
from md5s
where md5 like '%0061c3d72c2957f454eef9d4b05775d7%';

是雅典娜的计数和结果文件都错了吗?-我用MySQL还原了这些相同的记录,最后得到了97,531,010个唯一的MD5s。雅典人的计数和结果详情如下。

  • 雅典娜COUNT(DISTINCT md5):97,533,226
  • 不同MD5s出口记录: 97,581,616
  • 结果导出中有14,790个重复,因此似乎--计数(不同的)计数都是坏的,结果导出也是差的。

-我认为这是雅典娜的-我已经向AWS的开发团队提交了一张罚单来解决这个问题,并且会更新这个帖子。

这是相关的AWS论坛帖子,其他用户也看到了同样的问题。https://forums.aws.amazon.com/thread.jspa?messageID=764702

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-08 23:24:45

我已经证实了AWS团队,这是一个已知的错误与AWS雅典娜时,问题被提出。我不确定这件事是否已经解决。

票数 6
EN

Stack Overflow用户

发布于 2019-09-05 06:06:15

如有疑问,请使用CTAS删除任何副本:

代码语言:javascript
运行
复制
CREATE TABLE new_table
WITH (
      format = 'Parquet',
      parquet_compression = 'SNAPPY')
AS SELECT DISTINCT *
FROM old_table;

参考资料:https://docs.aws.amazon.com/athena/latest/ug/ctas-examples.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41970488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档