問題タブ [amazon-athena]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hive - AWS Athena (Presto) DISTINCT SQL クエリで結果が重複していますか?
S3 には、1 行に 1 つずつ、MD5 だけを含むファイルがたくさんあります。MD5 に対して重複除外クエリを実行するための AWS Athena テーブルを作成しました。これらのファイルとテーブルには、合計で数億の MD5 があります。
Athena テーブル作成クエリ:
これが私が試したすべての「重複除去」クエリです (これらはすべて同じはずです)。
Athena からのすべての結果出力 .csv には、繰り返しの MD5 がまだ含まれています。何を与える?
Athena は部分的な重複排除を行っていますか? - さらに奇妙なことにCOUNT(DISTINCT md5)
、Athena で a を実行すると、得られるカウントがエクスポートで返される行数とは異なります。
COUNT(DISTINCT md5)
アテナ: 97,533,226- 個別の MD5 のエクスポートの記録: 97,581,616
- 結果のエクスポートには 14,790 の重複があるため、両方の COUNT(DISTINCT) カウントが正しくなく、結果のエクスポートも正しくありません。
Athena はエクスポート時に重複を作成していますか? - プロットが厚くなります。Athena 結果エクスポートで複製された MD5 の 1 つについて Athena テーブルをクエリすると、テーブルから 1 つの結果/行しか得られません。これをクエリでテストして、LIKE
空白が問題の原因ではないことを確認しました。これは、Athena がエクスポートに重複を追加していることを意味します。結果に同じ MD5 が 2 つ以上存在することはありません。
Athena のカウントと結果ファイルはどちらも間違っていますか? - MySQL を使用してこれらの同じレコードを重複排除した結果、97,531,010 個の一意の MD5 が作成されました。Athenas のカウントと結果の詳細は以下のとおりです。
COUNT(DISTINCT md5)
アテナ: 97,533,226- 個別の MD5 のエクスポートの記録: 97,581,616
- 結果のエクスポートには 14,790 の重複があるため、両方の COUNT(DISTINCT) カウントが正しくなく、結果のエクスポートも正しくないようです。
これは Athena のバグだと思います。これを修正するために AWS の開発チームにチケットを提出しました。修正されたら、この投稿を更新します。
これは、他のユーザーが同じ問題を見ている関連する AWS フォーラムの投稿です。 https://forums.aws.amazon.com/thread.jspa?messageID=764702