cod*_*ife 5 amazon-s3 amazon-web-services aws-glue
您好,我在 S3 中有一堆 CSV,这是通过 AWS Glue 设置的爬网程序,该爬网程序在扫描 10 个文件夹时构建了大约 10 个表,并且只有其中 1 个文件夹未检测到标头。csv 的结构与其他所有结构相同。请给建议?
AWS 胶水爬虫根据多种规则解释标头。如果文件中的第一行不满足这些规则,爬网程序将不会将第一行检测为标题,您将需要手动执行此操作。这是一个非常常见的问题,我们在代码中集成了一个修复程序,使其成为我们数据管道的一部分。
摘自 aws doco
要归类为 CSV,表架构必须至少有两列和两行数据。CSV 分类器使用多种启发式方法来确定给定文件中是否存在标头。如果分类器无法从第一行数据确定标题,则列标题将显示为 col1、col2、col3 等。内置 CSV 分类器通过评估文件的以下特征来确定是否推断标头:
潜在标头中的每一列都会解析为 STRING 数据类型。
除最后一列外,潜在标题中的每一列的内容都少于 150 个字符。为了允许尾随分隔符,整个文件的最后一列可以为空。
潜在标题中的每一列都必须满足列名称的 AWS Glue 正则表达式要求。
标题行必须与数据行有足够的不同。要确定这一点,必须将一行或多行解析为 STRING 类型以外的类型。如果所有列的类型均为 STRING,则第一行数据与用作标题的后续行没有足够的差异。
您可以自己创建表,并且可以基于现有表进行爬网,而不是爬网点到 s3 路径。这是当爬网程序未检测架构(尤其是仅检测列标题)时使用的概念。
另请检查是否skip.header.line.count=1自动添加,如果没有,您可以手动添加,并将架构更新为您需要的正确架构。在后续运行爬网程序时,您可以更改属性,以便爬网程序忽略架构更新并仅对表执行分区更新。
| 归档时间: |
|
| 查看次数: |
9638 次 |
| 最近记录: |