running presto-cli warnning:SerDe org.apache.hadoop.hive.con



在单个节点上部署presto。 运行Presto-cli时,我收到以下错误:

presto:default> select * from test1;
Query 20131116_233859_00005_5a2yh failed: MetaException(message:org.apache.hadoop.hive.serde2.SerDeException SerDe org.apache.hadoop.hive.contrib.serde2.RegexSerDe does not exist)

配置单元运行正常。 为什么PrestoDB失败了?我的个人资料:

export JAVA_HOME=/usr/java
export JRE_HOME=/usr/java/jre
export HADOOP_HOME=/usr/hadoop
export HIVE_HOME=/usr/hive
export PRESTO_HOME=/usr/presto
export CLASSPATH=:.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME:`find /usr/hadoop -name '*.jar' | grep -v 'test' | grep -v 'example' | perl -e '@jars=<STDIN>;chomp @jars; print join(":",@jars);'`:$PRESTO_HOME/lib:$HADOOP/lib:$HIVE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PRESTO_HOME/bin:$HIVE_HOME/bin
export HADOOP_HEAPSIZE=4096

我明白了,当 RegEx 创建蜂巢表时,presto-cli 运行失败。我不知道。有人请帮我!

在主节点上:

  1. RegexSerDe.jar放入与 Hadoop 发行版相关的 Hive 连接器插件目录中。(例如:对于hadoop2分发,您可以将JAR文件放入../presto/plugin/hive-hadoop2/

  2. 确保RegexSerDe.jar文件与此目录中存在的其他 jar 文件具有正确的所有权。

  3. 重新启动预服务器进程。(sudo service presto-server restart)。如果这不起作用,您可能需要使用启动器重新启动sudo /usr/lib/presto/bin/launcher restart

在所有从属节点上重复此操作!

遵循与您

上面提到的相同的过程,收到相同的错误,请提供任何建议。

查询失败:org/apache/hadoop/hive/serde2/SerDe

使用 hive-hadoop2 版本将 serde jar 放置在以下路径中

presto/plugin/hive-hadoop2/hive-serde-1.0.0.jar并重新启动Presto。

你必须把 SerDe jar 放在插件目录 (plugin/hive-cdh4) 中。我没有使用RegexSerDe,但它适用于CSVSerDe。

相关内容

  • 没有找到相关文章

最新更新