gpt4 book ai didi

hadoop - hive :提取数据时出错

转载 作者:行者123 更新时间:2023-12-02 22:02:40 24 4
gpt4 key购买 nike

我尝试使用以下查询连接到Hive:
select * from some-table where yyyy = 2018 and mm = 01 and dd = 05 runs
查询运行成功。

再添加一个过滤器后,即string data type
生成以下错误:

java.io.IOException:java.lang.ClassCastException: org.apache.hadoop.hive.serde2.io.DateWritable cannot be cast to org.apache.hadoop.io.Text

最佳答案

该错误是由Serializer-Deserializers生成的。

根本原因:创建表时,您可能未定义 STORED AS 标记。尝试使用 desc <table name> 来描述您的表格,您可能会看到类似以下的内容:

| # Storage Information | NULL | NULL | 
| SerDe Library: | org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe | NULL |
| InputFormat: | org.apache.hadoop.hive.ql.io.orc.OrcInputFormat | NULL |
| OutputFormat: | org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat | NULL |

这不是一个好习惯。默认情况下,您的SerDes使用惰性评估。使用 STORED AS ORC 创建一个表,然后尝试描述您的表,这次的结果可能有所不同:
| # Storage Information | NULL | NULL | 
| SerDe Library: | org.apache.hadoop.hive.ql.io.orc.OrcSerde | NULL |
| InputFormat: | org.apache.hadoop.hive.ql.io.orc.OrcInputFormat | NULL |
| OutputFormat: | org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat | NULL |

试试这个,您也许可以解决问题。

关于hadoop - hive :提取数据时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51677297/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com