SparkSql怎么把数据写到文件或者是某个数据库以及用API的方式查数据

该博客演示了如何使用Spark SQL创建SparkSession,从文本文件读取数据,转换为DataFrame,进行数据操作如选择特定列和过滤,然后将结果保存到文本文件和MySQL数据库。主要涉及DataFrame API和SQL查询。
摘要由CSDN通过智能技术生成
package com.sparksql

import java.util.Properties

import org.apache.spark.rdd.RDD
import org.apache.spark.sql.{DataFrame, SparkSession}

object DataFrameFunction {
  def main(args: Array[String]): Unit = {
    //SparkSession
    val spark: SparkSession = SparkSession
      .builder()
      .master("local")
      .appName("DataFrameFromStuctType")
      .getOrCreate()

    val lineRDD: RDD[String] = spark.sparkContext.textFile("C:\\people.txt")

    val peopleRDD = lineRDD.map(line => {
      val linearray: Array[String] = line.split(",")
      People(linearray(0), linearray(1).trim.toInt)
    })

    import spark.implicits._
    val peopleDF: DataFrame = peopleRDD.toDF() //

    //DataFame API分析风格(DataFrame方法:select() where()等)
    //打印表结构,打印DF的元数据信息
    peopleDF.printSchema()
	
    //select * from pepole where age > 25
    peopleDF.select("name").where(peopleDF.col("age")>25).show()
	
    //peopleDF.createOrReplaceTempView("people6")
    val resultDF: DataFrame = spark.sql("select name from people6 where age >25")

    //将结果保存到文件
    resultDF.write.text("sqltext_result")

    //将结果保存到mysql
    val properties = new Properties()
    properties.setProperty("user","root")
    properties.setProperty("password","")
    resultDF.write.jdbc("jdbc:mysql://localhost:3306/mydb","people6",properties)

    spark.stop()

  }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值