anchor.diff:  df.select("id").filter("id >= 5").show()
   
   // ...or register a temporary table and use SQL
  -df.registerTempTable("kudu_table")
  +df.createOrReplaceTempView("kudu_table")
   val filteredDF = spark.sql("select id from kudu_table where id >= 5").show()
   
   // Use KuduContext to create, delete, or write to Kudu tables
   val kuduContext = new KuduContext("kudu.master:7051", spark.sparkContext)
   
  -// Create a new Kudu table from a dataframe schema
  -// NB: No rows from the dataframe are inserted into the table
  +// Create a new Kudu table from a DataFrame schema
  +// NB: No rows from the DataFrame are inserted into the table
   kuduContext.createTable(
       "test_table", df.schema, Seq("key"),
       new CreateTableOptions()
  
positive.code: spark-shell --packages org.apache.kudu:kudu-spark2_2.11:1.10.0
  ----
  
  then import kudu-spark and create a dataframe:
  [source,scala]
  ----
  import org.apache.kudu.client._
  
negative.code: 
  === Upsert option in Kudu Spark
  The upsert operation in kudu-spark supports an extra write option of `ignoreNull`. If set to true,
  it will avoid setting existing column values in Kudu table to Null if the corresponding DataFrame
  column values are Null. If unspecified, `ignoreNull` is false by default.
  [source,scala]
  ----
  val dataFrame = spark.read
    .options(Map("kudu.master" -> "kudu.master:7051", "kudu.table" -> simpleTableName))
    .format("kudu").load
  dataFrame.createOrReplaceTempView(simpleTableName)
  dataFrame.show()
  // Below is the original data in the table 'simpleTableName'
  +---+---+
  |key|val|
  