我正在使用 Spark 1.3、HBase 1.1 和 Phoenix 4.4。我的代码中有这个:
val dataframe = sqlContext.createDataFrame(rdd, schema)
dataframe.save("org.apache.phoenix.spark", SaveMode.Overwrite,
Map("table" -> "TEST_SCHEMA.TEST_HTABLE", "zkUrl" -> zkQuorum))
CREATED_DATE 在数据框中始终设置为 DateTime.now()。
如果 HBase 中已存在该行,我不希望更新该字段,但其他字段中有更新。
我可以使用 HBase 的 checkAndPut 来实现它:放置所有字段并在 created_date 字段上使用 checkAndPut。
但是如何使用 Phoenix-Spark API 做到这一点?我应该改用 HBase API 吗?