Я пытаюсь подключиться к каталогу хранилища Hive, расположенному в HDInsight, с помощью Spark local с использованием IntelliJ Maven.
Я использую Spark 1.6 с Scala и Maven Project.
Подробная информация о Комиссионном сервере:
`System.setProperty("hive.metastore.uris", `"thrift://hnaz.xyz123.internal.cloudapp.net:1403")`
Я пытаюсь получить доступ к таблицам склада улья.
Код:
package Test
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.{SQLContext, SaveMode, sources}
object TestHive {
def main(args: Array[String]): Unit = {
// get spark configuration
val conf = new SparkConf()
.setAppName("SparkHiveTest")
conf.setMaster("local[*]")
System.setProperty("hive.metastore.uris", "thrift://hnaz.xyz123.internal.cloudapp.net:1403")
import org.apache.spark.sql.hive.HiveContext
val sc = new SparkContext(conf)
val hiveContext = new HiveContext(sc)
implicit val sqlContext = new SQLContext(sc)
import org.apache.spark.sql.functions._
import sqlContext.implicits._
val df1 = sqlContext.sql(s"use $data_profiling, sqlContext.sql("show tables")");
}
}
Зависимость POM:
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-hive_2.11</artifactId>
<version>${spark.version}</version>
<scope>compile</scope>
<!-- provided -->
</dependency>
это выдает ошибку как
" Error:(22, 37) not found: value data_Test
val df1 = sqlContext.sql(s"use $data_Test, sqlContext.sql("show tables")");"
Error:(22, 74) value tables is not a member of StringContext
val df1 = sqlContext.sql(s"use $data_Test, sqlContext.sql("show tables")");
Спасибо за тонну. У меня есть только 1 сомнение. My Spark построен на локальном сервере , а Hive расположен в HDInsight . Как я могу получить доступ к Hive HDInsight от Local Spark. У меня нет есть Spark Cluster в HDInsight .
в режиме клиента.