SparkSQL操作Hive数据源

连接Hive与SparkSQL

将hive安装目录中conf目录下的hive-site.xml拷贝至spark安装目录下的conf目录。
然后启动SparkShell,运行:

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

SparkSQL操作Hive数据源_第1张图片

SparkSQL操作Hive数据源_第2张图片
前者为元数据,后者为hive中的库,现在在命令行中已经可以直接操作Hive了。

idea开发sparkSQL on Hive

package main.com.sh

import org.apache.spark.sql.SparkSession

object HiveOnSpark extends Serializable{
    def main(args: Array[String]): Unit = {
        val spark = SparkSession
          .builder()
          .master("local[*]")
          .appName("HiveConnApp")
          .enableHiveSupport()  // 这个方法表示连接Hive
          .getOrCreate()

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

打包上传,执行:

spark2-submit --master local[2] --class main.com.sh.HiveOnSpark spark_demo.jar

SparkSQL操作Hive数据源_第3张图片

如果想要进行本地测试就要把hive-site.xml拷贝进项目下resources目录下即可。

你可能感兴趣的:(#,---SparkSQL)