首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Boto3启动胶爬行器与新的s3输入

Boto3启动胶爬行器与新的s3输入
EN

Stack Overflow用户
提问于 2018-08-21 12:22:44
回答 1查看 7.1K关注 0票数 1

我有一个亚马逊胶水爬虫,它查看一个特定的s3位置,包含avro文件。我有一个进程,它在那个位置的一个新的子文件夹中输出文件。

一旦我手动运行爬虫,新的子文件夹将被视为数据库中的一个新表,它也将是可从雅典娜查询的。

有什么方法可以使进程自动化,并以编程方式调用爬虫,但只指定新的子文件夹,这样它就不必扫描整个父文件夹结构了吗?我希望将表添加到数据库中,而不是将分区添加到现有表中。

我正在寻找Python选项,我确实看到了这样一个选项:

代码语言:javascript
运行
复制
import boto3
glue_client = boto3.client('glue', region_name='us-east-1')
glue_client.start_crawler(Name='avro-crawler')

我还没有看到一个选项来传递一个文件夹来限制爬虫正在查看的位置。因为那个位置有数百个文件夹/表,所以重新抓取所有东西需要很长的时间,这是我想要避免的。

我在这里有什么选择?我是否需要以编程方式创建一个新的爬虫,并将每个新的子文件夹添加到s3中?

或者创建一个lambda函数,当一个新的子文件夹被添加到s3时会触发它?我已经看到了here的答案,但是即使使用lambda,它仍然意味着我调用了start_crawler,它会爬行所有的东西?

谢谢你的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-21 15:21:15

将crawler_name更新为crawler_name,将update_path更新到更新路径。

代码语言:javascript
运行
复制
response = glue_client.update_crawler(Name=crawler_name,
                           Targets={'S3Targets': [{'Path':update_path}]})
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51948607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档