2

spark-shellのsparkオブジェクトに対してHiveサポートを有効にしようとしていますが、動作しません。私はHortonworks HDPを使用しています。以下は、私はハイブサポートを有効にしようとすると、私が得るものです:HDP、spark-shellspark-shell(spark 2.1.1)のsparkのハイブサポートを有効にする方法

scala> val spark3 = SparkSession.builder.enableHiveSupport.getOrCreate 
17/10/24 21:30:28 WARN SparkSession$Builder: Using an existing SparkSession; some configuration may not take effect. 
spark3: org.apache.spark.sql.SparkSession = [email protected] 

scala> spark3.catalog 
res3: org.apache.spark.sql.catalog.Catalog = [email protected] 
+0

うーん...その働き。あなたは 'spark.sql()'を試しましたか? –

+0

コードは申し訳ありませんが、spark3.catalogはspark.catalogと同じことを示しています。 – user1888243

+0

これは、spark.cataglogがカタログのタイプ(org.apache.spark.sql.internal.CatalogImpl)を示していることです。 enableHiveSupport()が有効な場合は、org.apache.spark.sql.hive.HiveSessionCatalogが表示されます。 – user1888243

答えて

1

はすでにハイブサポートで有効なSparkSessionを作成します。

は、あなたはそれはあなたが、あなたの代わりにspark3sparkを使用している。また

spark.sql("show tables").show() 

試すことができますgetOrCreateが既存のセッション

を使用したことを言って警告しましたので、それは示すために、何が起こっていたかspark.catalogは明らかではありませんあなた以外のオブジェクトのtoString情報

+0

SparkSessionは内部的にバージョンを実装しているため、spark.sql()が機能すると思いますハイブのだから、私はそれがなぜspark.sql()、spark.catalogとそのようなものだと思う。 –

+0

"SparkSessionは内部的にHiveのバージョンを実装しています" ...まあまあです。 Spark Thrift ServerはHiveと互換性があります。 Sparkで使用されるデフォルトのメタストアは、埋め込みDerbyデータベースです。 HDPでは、 'enableHiveSupport'が呼び出されたときに読み込まれた' $ SPARK_HOME/conf'から 'hive-site.xml'が読み込まれ、読み込まれますが、これはspark-shellで既に行われています。 –

関連する問題