为每条 Amazon S3 包含路径创建单个架构
默认情况下,当爬网程序为 Amazon S3 中存储的数据定义表时,它会同时考虑数据兼容性和架构相似性。它考虑的数据兼容性因素包括数据是否具有相同的格式(例如,JSON),相同的压缩类型(例如,GZIP),Amazon S3 路径的结构以及其他数据属性。架构相似性衡量单独 Amazon S3 对象的架构的相似程度。
为帮助说明此选项,假设您使用包含路径 s3://bucket/table1/
定义了一个爬网程序。当该爬网程序运行时,它会找到两个具有以下特征的 JSON 文件:
-
文件 1 –
S3://bucket/table1/year=2017/data1.json
-
文件内容 –
{“A”: 1, “B”: 2}
-
架构 –
A:int, B:int
-
文件 2 –
S3://bucket/table1/year=2018/data2.json
-
文件内容 –
{“C”: 3, “D”: 4}
-
架构 –
C: int, D: int
默认情况下,该爬网程序会创建两个名为 year_2017
和 year_2018
的表,因为架构不够相似。但是,如果选项 Create a single schema for each S3 path (为每个 S3 路径创建单个架构) 处于选中状态,并且数据是兼容的,则爬网程序会创建一个表。该表具有架构 A:int,B:int,C:int,D:int
和 partitionKey
year:string
。