***测试用例
* 批量保存数据,存在则更新 不存在 则插入
* INSERT INTO test_001 VALUES(?,?,?)* ON conflict ( ID ) DO
* UPDATE SET id=?,NAME =?,age =?;*@author linzhy
*/
object InsertOrUpdateTest {
def main(args: Array[String]): Unit ={
val spark = SparkSession.builder().appName(this.getClass.getSimpleName).master("local[2]").config("spark.debug.maxToStringFields","100").getOrCreate()
var config = ConfigFactory.load()
val ods_url = config.getString("pg.oucloud_ods.url")
val ods_user = config.getString("pg.oucloud_ods.user")
val ods_password = config.getString("pg.oucloud_ods.password")
val test_001 = spark.read.format("jdbc").option("url", ods_url).option("dbtable","test_001").option("user", ods_user).option("password", ods_password).load()
test_001.createOrReplaceTempView("test_001")
val sql="""
|SELECT * FROM test_001
|""".stripMargin
val dataFrame = spark.sql(sql)//批量保存数据,存在则更新 不存在 则插入
PgSqlUtil.insertOrUpdateToPgsql(dataFrame,spark.sparkContext,"test_001_copy1","id")
spark.stop();}}