hive_cannot_open_split:从雅典娜询问木木quere文件时模式不匹配



在查询雅典娜的镶木木质数据时,我会遇到模式不匹配错误。

错误是:

HIVE_CANNOT_OPEN_SPLIT: Error opening Hive split s3://datalake/googleanalytics/version=0/eventDate=2017-06-11/part-00001-9c9312f7-f9a5-47c3-987e-9348b78aaebc-c000.snappy.parquet (offset=0, length=48653579): Schema mismatch, metastore schema for row column totals has 13 fields but parquet schema has 12 fields

在AWS胶水横梁中,我尝试从表中更新所有新的和现有的分区我认为可以解决此问题,但是我仍会遇到上述错误。我这样做是因为类似的问题:如何创建AWS胶水表有不同的列?('hive_partition_schema_mismatch'(

总计列的表模式为:

struct<visits:bigint,hits:bigint,pageviews:bigint,timeOnSite:bigint,bounces:bigint,transactions:bigint,transactionRevenue:bigint,newVisits:bigint,screenviews:bigint,uniqueScreenviews:bigint,timeOnScreen:bigint,totalTransactionRevenue:bigint,sessionQualityDim:bigint>

分区的镶木录文件 eventDate = 2017-06-11 缺少最后一个字段" sessionqualitydim" 。。

您有带有两个不同架构的镶木拼图,雅典娜表格架构与较新的架构匹配。您可以执行以下操作之一:

1(在雅典娜创建两个不同的表,一个指向数据直到2017年,另一个指向2017年数据。

2(如果旧数据对当前用例不再有效,那么您可以简单地存档该数据并从当前表中删除2017年及旧分区。

最新更新