如何使用Scala中的Apache Ignite RDD索引表?

时间:2016-05-02 14:33:31

标签: indexing apache-spark ignite

我正在尝试找到一个明确的示例,如何使用Scala中的 Ignite RDD 对表进行索引,但找不到任何内容。 有人可以给出简单明了的例子吗?谢谢。

1 个答案:

答案 0 :(得分:2)

您需要做的就是将索引类型配置添加到相应的缓存配置中:

val ccfg = new CacheConfiguration[Object, Object]()
ccfg.setName(PARTITIONED_CACHE_NAME)
ccfg.setIndexedTypes(classOf[String], classOf[Entity])

Entity类应该有相应的注释。您可以参考https://apacheignite.readme.io/docs/sql-queries了解更多详情。

然后,您可以创建IgniteRDD实例并保存数据:

val cache: IgniteRDD[String, Entity] = ic.fromCache(PARTITIONED_CACHE_NAME)
cache.savePairs(...)

最后,您可以使用IgniteRDD上的sql(...)方法查询索引数据:

val df = cache.sql("select field1, field2 from Entity where field3 = ?", "value3")