Я использую 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, но есть обновление в других полях.
Я могу добиться этого, используя checkAndPut HBase: поместите все поля и используйте checkAndPut в поле created_date.
Но как мне это сделать с помощью Phoenix-Spark API? Должен ли я вместо этого использовать HBase API?