sparksql 操作hive_Spark 操作hive

这篇博客展示了如何使用SparkSession建立连接到Hive的Spark会话,创建和删除Hive表,加载本地数据,并执行SQL查询。内容包括读取学生信息和分数数据,通过SQL语句进行数据融合,然后将结果写回新的Hive表`good_student_infos`。
摘要由CSDN通过智能技术生成

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/

0d35b7582d6a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值