我有一组统一结构的每日 CSV 文件,我将上传到 S3。有一个下游作业将 CSV 数据加载到 Redshift 数据库表中。CSV 中的列数可能会增加,从那时起,新文件中将包含新列。发生这种情况时,我想检测更改并将列自动添加到目标 Redshift 表中。
我的计划是在源 CSV 文件上运行 Glue Crawler。架构中的任何更改都会在 Glue 数据目录中生成新版本的表。然后,我想使用 Java、.NET 或其他语言以编程方式读取 Glue 数据目录中最新版本表的表结构(列及其数据类型),并将其与 Redshift 表的架构进行比较。如果找到新列,我将生成一个 DDL 语句来更改 Redshift 表以添加列。
有人可以指出使用 Java、.NET 或其他语言读取 Glue 数据目录表的任何示例吗?有没有更好的想法来自动向 Redshift 表添加新列?