突然失败:com.facebook.presto.spi.type.VarcharType
Presto failed: com.facebook.presto.spi.type.VarcharType
我创建了一个包含三列的 table - id
、name
、position
、
然后我使用 spark.
使用 orc 格式将数据存储到 s3
当我查询 select * from person
它 returns 一切。
但是当我从 presto 查询时,我得到这个错误:
Query 20180919_151814_00019_33f5d failed: com.facebook.presto.spi.type.VarcharType
我找到了问题的答案,当我将数据存储在 s3 中时,文件中的数据多了一个未在配置单元 table 元存储中定义的列。
所以当Presto试图查询数据时,发现有varchar而不是integer。
如果一条记录的类型与 Metastore 中定义的类型不同,也可能会发生这种情况。
我不得不删除我的数据并在没有多余的不需要的列的情况下再次导入它
我创建了一个包含三列的 table - id
、name
、position
、
然后我使用 spark.
当我查询 select * from person
它 returns 一切。
但是当我从 presto 查询时,我得到这个错误:
Query 20180919_151814_00019_33f5d failed: com.facebook.presto.spi.type.VarcharType
我找到了问题的答案,当我将数据存储在 s3 中时,文件中的数据多了一个未在配置单元 table 元存储中定义的列。
所以当Presto试图查询数据时,发现有varchar而不是integer。
如果一条记录的类型与 Metastore 中定义的类型不同,也可能会发生这种情况。
我不得不删除我的数据并在没有多余的不需要的列的情况下再次导入它