1

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

わかりました、正規表現でハイブのテーブルを作成したところ、presto-cliの実行に失敗しました。私は今まで知らなかった。誰か助けてください!

4

3 に答える 3

3

マスター ノード:

  1. RegexSerDe.jarHadoop ディストリビューションに関連する into Hive コネクタ プラグイン ディレクトリを配置します。(例:hadoop2配布の場合は、JAR ファイルを に配置できます../presto/plugin/hive-hadoop2/)

  2. RegexSerDe.jarこのディレクトリに存在する他の jar ファイルと同様に、ファイルの所有権が正しいことを確認してください。

  3. presto-server プロセスを再起動します。( sudo service presto-server restart)。これが機能しない場合は、ランチャーで再起動する必要がある場合がありますsudo /usr/lib/presto/bin/launcher restart

すべてのスレーブ ノードでこれを繰り返します。

于 2015-10-30T18:36:10.517 に答える
1

上記と同じプロセスに従って、同じエラーが発生しました。提案をお願いします。

クエリが失敗しました: org/apache/hadoop/hive/serde2/SerDe

hive-hadoop2 バージョンを使用すると、serde jar が次のパスに配置されました

presto/plugin/hive-hadoop2/hive-serde-1.0.0.jarと presto を再起動します。

于 2016-05-29T07:21:42.020 に答える