Glue搜寻器从分区的S3存储桶中创建了多个表

时间:2020-01-14 04:48:36

标签: amazon-web-services amazon-s3 aws-glue

我有一个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路径创建单个架构”选项。仍然不起作用。

我想念什么?

1 个答案:

答案 0 :(得分:1)

您应该在根目录(例如客户)拥有一个文件夹,并且在其中应具有分区子文件夹。如果您在S3存储桶级别具有分区,它将不会创建一个表。