Scala 向上插入ApacheSpark中的Phoenix表
想知道是否有人通过ApacheSpark在Phoenix上执行升级(append/update/partial insert/update)。我可以按照saveScala 向上插入ApacheSpark中的Phoenix表,scala,apache-spark,phoenix,Scala,Apache Spark,Phoenix,想知道是否有人通过ApacheSpark在Phoenix上执行升级(append/update/partial insert/update)。我可以按照saveSaveMode查看。只支持覆盖,即满负荷覆盖。我试着改变模式,它会引发错误 目前,我们正在运行*.hql作业来执行此操作,现在我们希望在Spark Scala中重写它们。感谢分享您的宝贵意见。虽然Phoenix connector确实只支持保存模式。覆盖,但实现不符合Spark标准: 覆盖模式意味着在将数据帧保存到数据源时,如果数据/表
SaveMode查看。只支持覆盖
,即满负荷覆盖。我试着改变模式,它会引发错误
目前,我们正在运行*.hql作业来执行此操作,现在我们希望在Spark Scala中重写它们。感谢分享您的宝贵意见。虽然Phoenix connector确实只支持
保存模式。覆盖
,但实现不符合Spark标准:
覆盖模式意味着在将数据帧保存到数据源时,如果数据/表已经存在,则现有数据将被数据帧的内容覆盖
如果您选中,您将看到saveToPhoenix
仅使用PhoenixOutputFormat
调用saveAsNewAPIHadoopFile
在内部为您构建UPSERT查询
换句话说,
SaveMode.Overwrite
使用Phoenix Connector实际上是UPSERT
谢谢您的回答,您是对的!我还通过再次插入相同的记录来验证它。