Spark上的Apache Phoenix - 无法插入Phoenix HBase Tables /需要建议最佳实践

时间:2015-07-11 05:11:59

标签: apache-spark phoenix

我有一张下面结构的表格。

trans_count

start_time,           end_time,                count

00:00:01              00:00:10                 1000

00:00:11              00:00:20                 800

Spark会侦听来自Kafka的事件并进行10秒的分组,并且必须插入到Phoenix hbase表中。

10秒后,我必须首先检查start_time,end_time组合是否在表中。如果它在那里,我们必须采用现有的计数并添加新的计数并重新插入它。

UPSERT INTO trans_count(start_time, end_time, count) SELECT start_time, end_time, count? FROM trans_count WHERE start_time = ? AND end_time = ?

如果上述语句中没有插入行,则只需插入数据。

在Apache Storm中,我能够在configure方法中创建一个Phoenix Connection对象,并且能够每10秒对UPSERT使用一次相同的连接。

在Spark中,我无法创建连接对象并为RDD中的每个对象使用相同的对象。 我的spark输出将是一个JavaDStream>其中start_time,end_time,count是Map中的所有键。

我最终为每次RDD迭代创建一个连接对象,我觉得这不是正确的方法。我已经读过凤凰城的连接很轻但是为每个RDD创建一个连接对象似乎不是正确的方法。

我读了一些关于相关内容的博客,但无法实现这一目标。请帮助。

注意:应用程序是用JAVA构建的。

0 个答案:

没有答案