使用S3向QuickSight上传数据时遇到行重复问题
我之前也碰到过一模一样的QuickSight数据重复问题,折腾了好一阵才找到原因,给你几个实用的排查和解决方向:
先确认源文件是否本身有重复行
别上来就怀疑QuickSight,先验证S3里的原始文件。用AWS CLI拉取文件本地统计行数:aws s3 cp s3://your-target-bucket/your-data-file.csv - | wc -l把这个数字和QuickSight里的行数对比,如果本地就已经是重复的,那问题出在源文件上;如果本地正常,那就是上传/解析环节的问题。
检查QuickSight数据源的文件匹配规则
我当时就是不小心在数据源配置里选了两个重叠的路径:比如同时加了s3://my-bucket/data/和s3://my-bucket/data/202405.csv,导致同一个文件被读取了两次。去数据源的编辑页面,看看文件选择的前缀或匹配模式是不是重复覆盖了同一个文件。排查刷新计划和任务
有没有设置多个重复的刷新任务?比如手动触发了一次刷新,同时自动刷新计划又跑了一遍,导致数据被加载两次。去数据集的「刷新计划」里看看,有没有重复的任务,或者最近的刷新记录是不是有多次执行的情况。尝试转换文件格式
如果你用的是CSV格式,试试转成Parquet再上传到S3。CSV的解析有时候会因为换行符、特殊字符出现异常,Parquet作为列式存储格式,QuickSight解析起来更稳定,我之前把CSV转成Parquet后,重复问题直接消失了。确认数据集没有多余的关联/联合操作
虽然你说只保留了单列,但还是检查下数据集的编辑界面,有没有不小心添加了表关联或者联合查询(比如自联合),导致出现笛卡尔积式的重复。如果是新建的数据集,直接重新创建一个只连接目标S3文件的简单数据集试试。
内容的提问来源于stack exchange,提问作者Saad Ahmed

