我们有流应用程序在 S3 上存储数据。 S3 分区可能有重复的记录。我们通过 Athena 查询 S3 中的数据。
有没有办法从 S3 文件中删除重复项,以便我们在从 Athena 查询时不会得到它们?
最佳答案
您可以编写一个小的 bash 脚本来执行 hive/spark/presto 查询以读取数据,删除重复项,然后将其写回 S3。
我不使用 Athena,但因为它只是 presto,所以我假设你可以做任何可以在 Presto 中做的事情。
bash 脚本执行以下操作:
例如 :
CREATE TABLE mydb.newTable AS
SELECT DISTINCT *
FROM hive.schema.myTable
语法引用:https://prestodb.io/docs/current/sql/create-table.html
现在您可以安全地读取同一张表,但记录是不同的。
关于hive - Amazon Athena 上的重复数据删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45659174/