s3://exp-mahesh-sandbox/Demo/Year=2017/Month=1/Day=3/part-00015-d0e1263a-616e-435f-b4f4-9154afb3f07d.c000.snappy.parquet (offset=0,length=12795):模式不匹配,行列统计的亚稳态模式有17个字段,而拼图模式有9个字段()
我已经使用AWS Glue爬虫获得Parquet文件的架构。最初,我在分区Day=1和Day=2中有几个文件,运行爬虫并能够使用雅典娜查询它。在分区Day=3中添加了几个文件(其中带有“统计”(type:struct)列的文件模式有一些缺失字段)之后,雅典娜抛出了上述错误。有没有办法解决这个问题。我期望缺失字段中的空值。
我尝试过更新爬虫中数据目录选项中的表定义,但结果是相同的。
发布于 2020-02-14 13:06:27
您会得到该错误,因为至少有一个Parquet文件的模式不同于组成表的其他文件或表的定义本身;它似乎是您的"Day=3“分区。
这是雅典娜的一个限制,它要求作为表数据源的文件具有相同的模式,即所有文件的列都需要匹配雅典娜的表定义,甚至是结构成员。
尽管Glue爬虫成功运行,但仍然会发生此错误;爬虫确实会更新表定义,但是当您执行一个查询时,如果您使用不同的模式(例如缺少一列)来访问一个文件,则会得到一个HIVE_CANNOT_OPEN_SPLIT错误。
https://stackoverflow.com/questions/59827588
复制相似问题