Skip to content

Instantly share code, notes, and snippets.

@smdmts
Created May 8, 2019 03:59
Show Gist options
  • Select an option

  • Save smdmts/7e1c25c0b30366e50c10ceba3dcab2b1 to your computer and use it in GitHub Desktop.

Select an option

Save smdmts/7e1c25c0b30366e50c10ceba3dcab2b1 to your computer and use it in GitHub Desktop.
// Databricks notebook source
// MAGIC %fs
// MAGIC rm -r dbfs:/delta/poc/events
// COMMAND ----------
case class Data(a:Int,b:String)
val first = Seq(Data(1,"a")).toDF
// COMMAND ----------
first.write.format("delta").mode("overwrite").save("/delta/poc/events")
// COMMAND ----------
// MAGIC %sql
// MAGIC DROP TABLE IF EXISTS poc_events
// COMMAND ----------
// MAGIC %sql
// MAGIC CREATE TABLE poc_events (
// MAGIC a INTEGER,
// MAGIC b STRING)
// MAGIC USING DELTA
// MAGIC LOCATION '/delta/poc/events'
// COMMAND ----------
spark.table("poc_events")
// COMMAND ----------
spark.sql("SELECT max(version) FROM (DESCRIBE HISTORY delta.`/delta/poc/events`)").collect()
// COMMAND ----------
// MAGIC %sql
// MAGIC SELECT * FROM poc_events@v0
// COMMAND ----------
// append same data
first.write.format("delta").mode("append").save("/delta/poc/events")
// COMMAND ----------
// MAGIC %sql
// MAGIC SELECT * FROM poc_events@v0
// COMMAND ----------
spark.sql("SELECT max(version) FROM (DESCRIBE HISTORY delta.`/delta/poc/events`)").collect()
// COMMAND ----------
// MAGIC %sql
// MAGIC SELECT * FROM poc_events@v1
// COMMAND ----------
val mergeValue = Seq(Data(1,"b")).toDF
mergeValue.createOrReplaceTempView("merge")
// COMMAND ----------
// MAGIC %sql
// MAGIC MERGE INTO poc_events target
// MAGIC USING merge source
// MAGIC ON source.a = target.a
// MAGIC WHEN MATCHED THEN UPDATE SET *
// COMMAND ----------
// MAGIC %sql
// MAGIC select * from poc_events
// COMMAND ----------
spark.table("poc_events")
// COMMAND ----------
// MAGIC %sql
// MAGIC SELECT * FROM poc_events@v0
// COMMAND ----------
// MAGIC %sql
// MAGIC SELECT * FROM poc_events@v1
// COMMAND ----------
// MAGIC %sql
// MAGIC SELECT * FROM poc_events@v2
// COMMAND ----------
@smdmts
Copy link
Author

smdmts commented May 8, 2019

DatabricksMergeInto

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment