Glue从JDBC源创建s3中的Parquet文件。
key1 val1今天
key2 val2今天
为今天创建的Parquet文件。可以被雅典娜查询。
明天更新源表(temp),即key2值已更改,另外还有两行。
key2 val3明天
key3 val4明天
key4 val5明天
明天创建新的Parquet文件只有3行(key2,Key3,Key4)。
我们如何使用Glue / Athena用目标表中的时间戳更新key2值..
期望的输出:
key1 val1今天
key2 val3明天
key3 val4明天
key4 val5明天
答案 0 :(得分:1)
Glue仅管理架构更改,无数据更改
答案 1 :(得分:0)
Glue从JDBC源创建s3中的Parquet文件。
这些文件是否导出到目标S3存储桶中的不同分区(“文件夹”)?
示例:“s3:// target-bucket / year = 2018 / month = 4 / day = 1 / files- here ”
如果是这样,请创建并安排Glue抓取工具,以便在 Glue JDBC提取作业之后定期抓取目标S3存储桶。爬虫将更新Athena表的定义,添加所有新分区并使新数据可查询。
<强>要点:强>
步骤1)
GLUE JOB -- exports --> S3 BUCKET
步骤2)
GLUE CRAWLER --> crawls --> S3 BUCKET --> updates --> ATHENA TABLE'S DEFINITION
请注意,您不应更改表的架构(即列的名称,类型和顺序),因为Glue当前不支持镶木地板文件来改变数据类型或允许重新排序列。他们已经在努力修复了。如果这是必备功能,您可以将数据格式更改为JSON。