sparksession操作hive数据库
1.需要将core-site.xml,hdfs-site.xml,hive-site.xml放入resources中。
2.创建sparksession的时候加入属性
.enableHiveSupport()
3.操作hive数据库
spark.sql("use hisms_sl")
spark.sql("show tables").show(10)
val data:DataFrame=spark.sql("select * from sl_data")
data.createOrReplaceTempView("sl_data")
data.select(data("id"),data("zfy")).filter(data("id").<=(100)).show()
val table1:DataFrame=spark.sql("select\n`id` as id,\n`BAH` as akc190,\nconcat(`XM`,`CSRQ`) as aac001 \nfrom sl_data")
//保存数据到hive中
table2.write.format("orc").saveAsTable("sn_20180108")
sparksession读取text文件,存储到mysql数据库
val text:DataFrame=spark.read.format("org.apache.spark.sql.execution.datasources.csv.CSVFileFormat")
.option("header", true)//首行作为字段名
.option("delimiter", ",")//指定定界符--分隔符
.load("file:///C:\\Users\\91BGJK2\\Desktop\\sl_hive.txt")
text.createOrReplaceTempView("hisms")
val table1:DataFrame=spark.sql("select\n`id` as id,\n`BAH` as akc190,\nconcat(`XM`,`CSRQ`) as aac001\nfrom hisms")
//保存到jdbc
table1.write.mode(SaveMode.Append)
.format("jdbc")
//记得指定编码,防止写入数据库乱码
.option("url","jdbc:mysql://10.111.121.111:3306/hisms_sn?useUnicode=true&characterEncoding=UTF-8")
.option("dbtable","sn_test2")
.option("user", "root")
.option("password", "root")
.save();
/**
* 配置文件读取mysql
*/
val properties=Map("url"->"jdbc:mysql://10.111.121.111:3306/hisms_sn",
"driver"->"com.mysql.jdbc.Driver",
"user"->"root",
"dbtable"->"t_drg_fz",
"password"->"root")
val t_drg_fz=spark.read.format("jdbc").options(properties).load()
本文介绍如何使用SparkSession连接并操作Hive数据库,包括读取数据、执行SQL查询及筛选展示等操作。此外,还展示了如何从本地文本文件加载数据,并将其保存到MySQL数据库中。

482

被折叠的 条评论
为什么被折叠?



