Spark 操作hive
spark 读取hive数据
在 hive的目录下 启动hive 服务 hive --service metastore
object CreateDateFrameFromHive {
def main(args: Array[String]):Unit = {
val spark = SparkSession.builder().appName("CreateDataFrameFromHive").enableHiveSupport()
.config("hive.metastore.uris", "thrift://node03:9083").getOrCreate()
spark.sql("use spark")
spark.sql("drop table if exists student_infos")
spark.sql("create table if not exists student_infos (name string,age int) row format delimited fields terminated by '\t'")
spark.sql("load data local inpath './data/student_infos' into table student_infos")
spark.sql("drop table if exists student_scores")
spark.sql("create table if not exists student_scores (name string,score int) row format delimited fields terminated by '\t'")
spark.sql("load data local inpath './data/student_scores' into table student_scores")
val df = spark.sql("select si.name,si.age,ss.score from student_infos si,student_scores ss where si.name = ss.name")
spark.sql("drop table if exists good_student_infos")
/**
* 将结果写入到hive表中
*/
df.write.mode(SaveMode.Overwrite).saveAsTable("good_student_infos")
}
访问 http://node01:50070/explorer.html#/user/hive/warehouse/