我有一个S3存储桶,其结构如下:
root/
├── year=2020/
│ └── month=01
│ ├── day=01
| | ├── file1.log
| | ├── ...
| | └── file8.log
│ ├── day=...
│ └── day=31
| ├── file1.log
| ├── ...
| └── file8.log
└── year=2019/
├── ...
每天在一天中将有8个名称相同的文件-每个“ day”文件夹中都会有一个file1.log
。我使用自定义分类器抓取了此存储桶。
预期的行为:Glue将创建一个单独的表,其中以年,月和日为分区字段,以及我在自定义分类器中描述的其他几个字段。然后,我可以在Job脚本中使用该表。
实际行为:
1)胶水创建了一个符合我期望的桌子。但是,当我尝试在Job脚本中访问它时,表中没有列。
2)Glue为每个“ day”分区创建了一个表,为每个file<number>.log
文件创建了8个表
我尝试排除**_SUCCESS
和**crc
,就像在另一个问题上建议的人一样:AWS Glue Crawler adding tables for every partition?但是,这似乎没有用。我还检查了搜寻器设置中的“为每个S3路径创建单个架构”选项。仍然不起作用。
我想念什么?
答案 0 :(得分:1)
您应该在根目录(例如客户)拥有一个文件夹,并且在其中应具有分区子文件夹。如果您在S3存储桶级别具有分区,它将不会创建一个表。