首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AWS胶在CSV中不检测标头

AWS胶在CSV中不检测标头
EN

Stack Overflow用户
提问于 2020-05-17 18:53:07
回答 4查看 6.8K关注 0票数 4

嗨,我有一堆CSV位于S3中,这是一个通过AWS建立的爬虫程序,这个爬虫构建了大约10个表,因为它扫描了10个文件夹,其中只有一个没有检测到标头。csv的结构和其他的一样。请给我建议?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-05-17 21:11:54

您可以自己创建表,而不是爬行指向s3路径,而是可以基于现有表进行爬行。这是当爬虫没有检测到模式时使用的概念,尤其是列标题。

还要检查skip.header.line.count=1是否是自动添加的,如果不是,可以手动添加,并将模式更新到所需的正确模式。在您的爬虫的后续运行中,您可以更改属性,以便它将忽略架构更新,并且只对表执行分区更新。

票数 2
EN

Stack Overflow用户

发布于 2020-05-21 00:45:18

AWs胶爬行器基于多个规则解释头。如果您的文件中的第一行满足这些规则,爬虫将不会将第一行检测为标题,您将需要手动执行该操作。这是一个非常常见的问题,我们在代码中集成了一个修复程序来完成这个任务,这是我们数据管道的一部分。

aws文档摘录

要将

分类为CSV,表架构必须至少有两列和两行数据。CSV分类器使用许多启发式方法来确定一个标头是否存在于给定文件中。如果分类器无法从第一行数据中确定标题,列标题将显示为col1、col2、col3等。内置CSV分类器通过评估文件的下列特征来确定是否推断标题:

潜在标题中的每一列都以字符串数据类型解析。

除了最后一列之外,潜在标题中的每一列的内容都少于150个字符。为了允许尾随分隔符,最后一列可以在整个文件中为空。

潜在标题中的每一列都必须满足AWS Glue regex对列名的要求。

标题行必须与数据行有足够的不同。要确定这一点,一个或多个行必须解析为字符串类型以外的其他行。如果所有列都是STRING类型,那么第一行数据与随后的行没有足够的不同,不能用作标题。。

票数 7
EN

Stack Overflow用户

发布于 2020-10-15 19:19:29

您可以在爬虫上使用自定义分类器来解决这个问题:https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html

通常,在分类器选项列标题部分中选择有标题将起作用,如果没有,则可能需要为此目的在文本框中输入标题列表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61857098

复制
相关文章

相似问题

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