使用Spark连接Hive获取数据
一、在连接前,先保证服务器端的运行环境正常
1、Linux窗口输入start-all.sh
启动hadoop环境
2、再输入 hive --service metastore &
启动hive服务
3、在Linux窗口输入jps
检查服务是否都启动
RunJar代表hive服务已启动
二、使用以下代码连接hive
import org.apache.spark.sql.SparkSession
object sparkToHive {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder().appName("toHive").master("local[*]")
//后面是连接自己hive的地址
.config("hive.metastore.uris", "thrift://192.168.150.100:9083")
.enableHiveSupport() // 连接hive的时候就加上这条
.getOrCreate()
val employeeDF = spark.sql("select * from test1.stu")
//打印表结构
employeeDF.printSchema()
//获取数据
employeeDF.show()
}
}
运行结果如下
root
|-- name: string (nullable = true)
|-- id: integer (nullable = true)
+------+---+
| name| id|
+------+---+
|wangwu| 1|
+------+---+