如何让Glue Crawler为S3每个日期前缀创建独立表而非单表?
问题背景
我的S3存储结构如下:
... ├── data │ ├── hist │ │ ├── mongodb │ │ │ ├── mongodb_attempts │ │ │ │ ├── attempts_20240513 │ | | │ │ ├── 000_part_0.parquet │ | | │ │ ├── 000_part_1.parquet │ | | | │ ├── ... │ │ │ │ ├── attempts_20240520 │ | | │ │ ├── 000_part_0.parquet │ | | | │ ├── 000_part_1.parquet │ | | | │ ├── ... │ | | | ... ...
我创建了一个数据源指向.../hist/mongodb/mongodb_attempts/的Glue Crawler,但它并未为每个attempts_YYYYMMDD前缀创建单独的表,而是生成了一张名为mongodb_attempts的单表。由于这些数据的schema相同,Glue默认将其视为单表的分区,这逻辑上合理,但我需要为每个内部前缀生成独立的表。每周都会新增前缀,手动添加所有路径作为数据源不现实,想确认是否有现成功能可以启用?如果没有,我考虑用Lambda函数修改数据源。
解决方案
在Glue Data Catalog中未找到相关配置,最终我创建了一个由EventBridge规则每周触发的Lambda函数,该函数会列出S3中的对应文件夹,更新Crawler的数据源并运行它,实现过程使用了Glue SDK客户端。
内容的提问来源于stack exchange,提问作者Laura Galera
相关产品推荐
相关产品推荐

