我是Ignite的新手,在关注Ignite Spark Tutorial中的示例时,我试图查看类似的步骤是否可以与Query
中的自定义类型(案例类)一起使用,而不是IgniteRDD[Int, CastomClass]
。我能够创建RDD并在其上调用IgniteRDD[Integer, Integer]
,但是我无法再将数据读回来。下面是一些示例代码,我不会向您介绍文本处理RDD转换步骤的详细信息
savePairs
import org.apache.ignite.spark._
import org.apache.ignite.configuration._
val ic = new IgniteContext(sc, "examples/config/spark/example-shared-rdd.xml", true)
case class CustomType(tid: String, subtid: String, value: Double)
val cacheRdd = ic.fromCache[Int, CustomType]("TEST")
// numbered custom entries is a Spark RDD[Int, CustomType]
cacheRdd.savePairs(numberedCustomEntries)
这导致了一个很长的堆栈跟踪,它的主旨是找不到我的自定义类
cachedRdd.first
。我想做什么甚至可能?
答案 0 :(得分:0)
首先,我建议使用新文档而不是旧文档:https://apacheignite-fs.readme.io/docs/ignitecontext-igniterdd
我在这里看到2个可能的问题:
,对于缓存配置,您使用CustomType替换了java.lang.Integer而不是使用包替换了全名。
您在某些节点的类路径中没有类CustomType。
答案 1 :(得分:0)
事实证明我的自定义JAR需要住在$IGNITE_HOME/libs
阶> sharedRDD.first [10:35:57]拓扑快照[ver = 3,servers = 2,clients = 1,CPUs = 8,heap = 2.8GB] res1:(Int,CustomData)=(242691,CustomData [Id = XYZ,sId = XYZ001,value = 6.0E8])