11

私はHDP-2.6.0.3を使用していますが、私はZeppelin 0.8が必要なので、独立したサービスとしてインストールしました。実行時:ハイプを見るために、独立したサービスのツェッペリンを取得するにはどうすればよいですか?

%sql 
show tables 

Spark2 SQLコマンドを実行すると、何も戻ってこないので、「テーブルが見つかりません」というメッセージが表示されます。表は、HDPの一部である0.7ツェッペリンに見られる。

Zeppelin/SparkがHiveを見るために、誰が私に行方不明を教えてもらえますか?次のように私はzep0.8を作成するために行わ

手順は次のとおりです。

/usr/hdp/2.6.0.3-8/zeppelin/confからツェッペリン-site.xmlのとshiro.iniをコピーし
maven clean package -DskipTests -Pspark-2.1 -Phadoop-2.7-Dhadoop.version=2.7.3 -Pyarn -Ppyspark -Psparkr -Pr -Pscala-2.11 

/home/ed/zeppelin/confに移動します。

私は、次のを入れているで作成/home/ed/zeppelin/conf/zeppeli-env.sh:

export JAVA_HOME=/usr/jdk64/jdk1.8.0_112 
export HADOOP_CONF_DIR=/etc/hadoop/conf 
export ZEPPELIN_JAVA_OPTS="-Dhdp.version=2.6.0.3-8" 

コピーし/etc/hive/conf/hive-site.xmlへ/ホーム/ ED /ツェッペリン/ confに

EDIT: 私も試してみました:

import org.apache.spark.sql.SparkSession 
val spark = SparkSession 
      .builder() 
      .appName("interfacing spark sql to hive metastore without configuration file") 
      .config("hive.metastore.uris", "thrift://s2.royble.co.uk:9083") // replace with your hivemetastore service's thrift url 
      .config("url", "jdbc:hive2://s2.royble.co.uk:10000/default") 
      .config("UID", "admin") 
      .config("PWD", "admin") 
      .config("driver", "org.apache.hive.jdbc.HiveDriver") 
      .enableHiveSupport() // don't forget to enable hive support 
      .getOrCreate() 

同じ結果、および:

import java.sql.{DriverManager, Connection, Statement, ResultSet} 
val url = "jdbc:hive2://" 
val driver = "org.apache.hive.jdbc.HiveDriver" 
val user = "admin" 
val password = "admin" 
Class.forName(driver).newInstance 
val conn: Connection = DriverManager.getConnection(url, user, password) 

います:

java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient 
ERROR XSDB6: Another instance of Derby may have already booted the database /home/ed/metastore_db 

エラーを修正して:

val url = "jdbc:hive2://s2.royble.co.uk:10000" 

まだありませんテーブル:(

答えて

3

これは動作します:

import java.sql.{DriverManager, Connection, Statement, ResultSet} 
val url = "jdbc:hive2://s2.royble.co.uk:10000" 
val driver = "org.apache.hive.jdbc.HiveDriver" 
val user = "admin" 
val password = "admin" 
Class.forName(driver).newInstance 
val conn: Connection = DriverManager.getConnection(url, user, password) 
val r: ResultSet = conn.createStatement.executeQuery("SELECT * FROM tweetsorc0") 

が、その後、私は持っています結果セットをデータフレームに変換する際の苦痛。むしろSparkSessionが機能してデータフレームを取得するので、今日後で賞金を追加します。

+0

問題を解決しましたか? –

+0

SparkSessionコードでは動作しません。 – schoon

0

Cloudera Hadoopにも同様の問題がありました。私の場合、問題はスパークSQLがハイブのメタストアを見ていないということでした。 Spark SessionオブジェクトをSpark SQLに使用したとき、私は以前に作成したテーブルを見ることができませんでした。私は(ホートンは、これらのパスが他の何かある作品のために、私は仮定)zeppelin-env.sh

export SPARK_HOME=/opt/cloudera/parcels/SPARK2/lib/spark2 
export HADOOP_HOME=/opt/cloudera/parcels/CDH 
export SPARK_CONF_DIR=/etc/spark/conf 
export HADOOP_CONF_DIR=/etc/hadoop/conf 

に追加することでそれを解決するために管理しました。 Interpreter UIのspark.masterをlocal [*]からyarn-clientに変更します。最も重要なのは/etc/spark/conf/に手動でhive-site.xmlをコピーしました。なぜなら、それがそのディレクトリにないことが奇妙で、それが私の問題を解決したからです。

私のアドバイスは、SPARK_CONF_DIRにhive-site.xmlが存在するかどうかを確認し、手動で追加しない場合です。私はまた、ホートン・ワークスとゼッペリンのためにguideが見つかると、これはうまくいかないでしょう。

関連する問題