Spark SQL Dataframe 写入oracle

本文介绍使用Spark连接并写入Oracle数据库的方法,通过定义URL、用户名、密码和驱动等参数,创建属性集,并利用SQLContext将RDD转换为DataFrame,最终以追加模式将数据写入指定的Oracle数据库表中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可以看此处文章https://xvlvzhu.github.io/2018/01/07/Spark%E6%93%8D%E4%BD%9C%E6%95%B0%E6%8D%AE%E5%BA%93%E7%A4%BA%E4%BE%8B/
以下是写入Oracle数据库

 val url = "jdbc:oracle:thin:@//ip:1521/数据库名称"
  val user = "ods"
  val password = "oracle"
  val driver = "oracle.jdbc.driver.OracleDriver"
  val dbmap = Map("url" -> url, "user" -> user, "password" -> password, "driver" -> driver)
  val properties = new Properties()
  properties.setProperty("url", url)
  properties.setProperty("user", user)
  properties.setProperty("password", password)
  properties.setProperty("driver", driver)

  def saveSummary(rowrdd: RDD[Row], sqlContext: SQLContext): Unit = {
    //DateTypes.createStructField()
   val schema= StructType(List(StructField("mon_th",IntegerType, true)
      , StructField("current_date", DateType, true)
      , StructField("amount", DoubleType, true)
      , StructField("account_code", StringType, true)
      , StructField("summary_code", StringType, true)
      , StructField("project", StringType, true)
    ))
    val dataFrame=sqlContext.createDataFrame(rowrdd,schema)
    dataFrame.show()
    dataFrame.write.mode(SaveMode.Append).jdbc(url,"表名",properties)
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值