本地服务器中构建的Spark应用程序,我们如何访问位于HDInsight中的Hive Warehouse

问题描述 投票:-1回答:1

我正在尝试通过IntelliJ Maven使用Spark local连接到HDInsight中的Hive仓库目录。

我在Scala和Maven Project中使用Spark 1.6。

节俭服务器详细信息:

`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")");

感谢一吨。我只有一个疑问。我的Spark建立在本地服务器Hive位于HDInsight]上。如何从Local Spark访问HDInsight Hive。我没有HDInsight上的火花群集

使用客户端模式。

我正在尝试使用IntelliJ Maven使用Spark local连接到HDInsight中的Hive仓库目录。我在Scala和Maven Project中使用Spark 1.6。 Thrift服务器详细信息:`...

maven apache-spark intellij-idea hive hdinsight
1个回答
0
投票

注意:

© www.soinside.com 2019 - 2024. All rights reserved.