Я бы хотел прагматично взаимодействовать с ульем из окон, ниже я написал код:
package com.vz.vbap.desktop
import org.apache.spark.SparkConf
import org.apache.spark.streaming.StreamingContext
import org.apache.spark.streaming.Seconds
import org.apache.spark.sql.hive.HiveContext
import java.sql.Connection
import java.sql.DriverManager
import org.apache.spark.sql.SQLContext
object TestOneHive {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("TestOneHive").setMaster("local[*]") // Set the application name
val ssc = new StreamingContext(conf, Seconds(15))
val sc = ssc.sparkContext
val hiveContext = new HiveContext(sc)
hiveContext.setConf("hive.metastore.uris", "thrift://localhost:9083")
val jdbcDF = hiveContext.read
.format("jdbc")
.option("url", "URL")
.option("dbtable", "tablename")
.option("user", "user")
.option("password", "xxxx")
.option("driver", "org.apache.hive.jdbc.HiveDriver")
.load()
println("able to connect------------------")
jdbcDF.show()
}
}
Я пробовал несколько раз, но продолжаю получать приведенное ниже исключение.Как устранить эту ошибку-
Исключение в потоке "main" java.lang.IllegalArgumentException: Ошибка при создании экземпляра org.apache.spark.sql.hive.HiveSessionStateBuilder ': at org.apache.spark.sql.SparkSession $ .org $ apache $ spark $ sql $ SparkSession $$ instantiateSessionState (SparkSession.scala: 1053) в org.apache.spark.sql.SparkSession $$ anonfun $ sessionState $ 2.apply (SparkSession.scala: 130)в org.apache.spark.sql.SparkSession $$ anonfun $ sessionState $ 2.apply (SparkSession.scala: 130) в scala.Option.getOrElse (Option.scala: 121) в org.apache.spark.sql.SparkSession.sessionState$ lzycompute (SparkSession.scala: 129) в org.apache.spark.sql.SparkSession.sessionState (SparkSession.scala: 126) в org.apache.spark.sql.SparkSession.conf $ lzycompute (SparkSession.scala: 153) вorg.apache.spark.sql.SparkSession.conf (SparkSession.scala: 153) в org.apache.spark.sql.SQLContext.setConf (SQLContext.scala: 125) в com.vz.vbap.desktop.TestOneHive $ .main(TestOneHive.scala: 32) на com.vz.vbap.desktop.TestOneHive.main (TestOneHive.scala)
Ожидается: необходимо получить данные из улья