运行presto cli警告:SerDe org.apache.hadoop.hive.contrib.serde2.RegexSerDe不存在

运行presto cli警告:SerDe org.apache.hadoop.hive.contrib.serde2.RegexSerDe不存在,presto,Presto,在单个节点上部署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

在单个节点上部署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
export JAVA\u HOME=/usr/JAVA
导出JRE_HOME=/usr/java/JRE
导出HADOOP\u HOME=/usr/HADOOP
导出配置单元\u HOME=/usr/HIVE
export PRESTO_HOME=/usr/PRESTO
导出类路径=:.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME:`find/usr/hadoop-name'*.jar'| grep-v'test'| grep-v'example'| perl-e'@jars=;嚼罐;打印连接(“:”,@jars);“`:$PRESTO_HOME/lib:$HADOOP/lib:$HIVE_HOME/lib
导出路径=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PRESTO_HOME/bin:$HIVE_HOME/bin
导出HADOOP\u HEAPSIZE=4096
我明白了,当RegEx创建配置单元表时,presto cli运行失败。
我不知道。谁来帮帮我

您必须将SerDe jar放在plugin目录(plugin/hive-cdh4)中。
我没有使用RegexSerDe,但它对CSVSerDe有效。

您必须将SerDe jar放在plugin目录(plugin/hive-cdh4)中。 我没有使用RegexSerDe,但它对CSVSerDe有效。

在主节点上:

  • 将您的
    RegexSerDe.jar
    放入与hadoop发行版相关的hive connectors插件目录中。(例如:对于
    hadoop2
    发行版,您可以将JAR文件放到
    。/presto/plugin/hive-hadoop2/

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

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

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

    主节点上的:

  • 将您的
    RegexSerDe.jar
    放入与hadoop发行版相关的hive connectors插件目录中。(例如:对于
    hadoop2
    发行版,您可以将JAR文件放到
    。/presto/plugin/hive-hadoop2/

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

  • 重新启动presto服务器进程。(
    sudo服务presto服务器重启
    )。如果这不起作用,您可能需要重新启动launcher
    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。

    遵循与上述相同的过程,获得相同的错误,请提供任何建议

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

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


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

    非常感谢,它对我很有用。在我的例子中,我在本地设置中使用com.amazon.elasticmapreduce.JsonSerde。非常感谢,它对我很有用。在我的例子中,我在本地设置中使用com.amazon.elasticmapreduce.JsonSerde。是否在所有节点上重新启动了presto?是否在所有节点上重新启动了presto?