第一部分:
我尝试使用黏合剂爬虫在S3上加载的虚拟CSV文件中运行,它创建了一个表格,但是当我尝试在Athena中查看表格并查询时,它显示返回零条记录。
但是,在Athena中的ELB演示数据可以正常工作。
第二部分(场景):
假设我有一个Excel文件和一个描述数据存储方式和格式的数据词典,我想将这些数据转储到AWS Redshift中,最好的实现方式是什么?
第一部分:
我尝试使用黏合剂爬虫在S3上加载的虚拟CSV文件中运行,它创建了一个表格,但是当我尝试在Athena中查看表格并查询时,它显示返回零条记录。
但是,在Athena中的ELB演示数据可以正常工作。
第二部分(场景):
假设我有一个Excel文件和一个描述数据存储方式和格式的数据词典,我想将这些数据转储到AWS Redshift中,最好的实现方式是什么?
我遇到了同样的问题。你需要给爬虫提供文件夹路径而不是实际文件名,并运行它。我尝试将文件夹名称提供给爬虫并且它可以正常工作。希望这可以帮助到你。让我知道。谢谢。
我也遇到了同样的问题。尝试在S3存储桶中为单个表创建一个单独的文件夹,然后重新运行Glue爬虫。您将在Glue数据目录中获得一个与S3存储桶文件夹名称相同的新表。
删除爬虫,再次创建爬虫(仅在s3中不再有一个csv文件的情况下,并运行爬虫)。 重要提示 只有一个CSV文件,我们可以在Athena中查看记录。
我实际上提供了S3文件夹路径而不是文件名,但仍然无法让Athena返回任何记录(“零条记录返回”,“扫描的数据:0KB”)。
事实证明,问题在于输入文件(自动从Elastic Beanstalk上传到S3的旋转日志文件)以下划线(_
)开头,例如_var_log_nginx_rotated_access.log1534237261.gz
! 显然这是不允许的。
csv/allergies.csv -> fails
csv/allergies/allergies.csv -> succeeds
然后,我只需将 AWS Glue Crawler 指向 csv/,所有内容都被成功解析了。
s3://<bucketname>/<data-folder>/
/<type-1-[CSVs|Parquets etc]>/<files.[csv or parquet]>
/<type-2-[CSVs|Parquets etc]>/<files.[csv or parquet]>
...
/<type-N-[CSVs|Parquets etc]>/<files.[csv or parquet]>
并在 Glue Crawler 的 "include path" 中指定:
s3://<bucketname e.g my-s3-bucket-ewhbfhvf>/<data-folder e.g data>