我是否应该 运行 每次都使用 Glue 爬虫来获取最新数据?
Should I run Glue crawler everytime to fetch latest data?
我有一个名为 Employee 的 S3 存储桶。每三个小时我就会在存储桶中获取一个文件,上面附有时间戳。我将使用 Glue 作业通过一些转换将文件从 S3 移动到 Redshift。我在 S3 存储桶中的输入文件将具有固定结构。我的 Glue 作业将使用通过爬虫在 Data Catalog 中创建的 table 作为输入。
第一运行:
datasource0 = glueContext.create_dynamic_frame.from_catalog(database = "test", table_name = "employee_623215", transformation_ctx = "datasource0")
三个小时后,如果我再为员工获取一份文件,我是否应该重新抓取它?
有没有办法像员工一样在 Data Catalog 中拥有一个 table 并使用最新的 S3 文件更新 table 以供 Glue Job 用于处理。还是每次都运行爬取最新的数据?问题是将在我的数据目录中创建更多的 table。
如果可行,请告诉我。
如果架构发生变化,您只需要再次 运行 AWS Glue 爬虫。只要架构保持不变,您就可以直接将文件添加到 Amazon S3,而无需重新 运行 爬虫。
更新:@Eman 下面的评论是正确的
If you are reading from catalog this suggestion will not work. Partitions will not be updated to the catalog table if you do not recrawl. Running the crawler maps those new partitions to the table and allow you to process the next day's partitions.
另一种方法是,不是从目录读取,而是直接从 s3 读取并在 Glue 作业中处理数据。
这样你就不用再运行抓取了。
使用
from_options(connection_type, connection_options={}, format=None, format_options={}, transformation_ctx="")
记录在案 here
我有一个名为 Employee 的 S3 存储桶。每三个小时我就会在存储桶中获取一个文件,上面附有时间戳。我将使用 Glue 作业通过一些转换将文件从 S3 移动到 Redshift。我在 S3 存储桶中的输入文件将具有固定结构。我的 Glue 作业将使用通过爬虫在 Data Catalog 中创建的 table 作为输入。
第一运行:
datasource0 = glueContext.create_dynamic_frame.from_catalog(database = "test", table_name = "employee_623215", transformation_ctx = "datasource0")
三个小时后,如果我再为员工获取一份文件,我是否应该重新抓取它?
有没有办法像员工一样在 Data Catalog 中拥有一个 table 并使用最新的 S3 文件更新 table 以供 Glue Job 用于处理。还是每次都运行爬取最新的数据?问题是将在我的数据目录中创建更多的 table。
如果可行,请告诉我。
如果架构发生变化,您只需要再次 运行 AWS Glue 爬虫。只要架构保持不变,您就可以直接将文件添加到 Amazon S3,而无需重新 运行 爬虫。
更新:@Eman 下面的评论是正确的
If you are reading from catalog this suggestion will not work. Partitions will not be updated to the catalog table if you do not recrawl. Running the crawler maps those new partitions to the table and allow you to process the next day's partitions.
另一种方法是,不是从目录读取,而是直接从 s3 读取并在 Glue 作业中处理数据。
这样你就不用再运行抓取了。
使用
from_options(connection_type, connection_options={}, format=None, format_options={}, transformation_ctx="")
记录在案 here