如何在zeppelin中的%ignite.ignitesql解释器中提及withkeepBinary

时间:2016-10-26 12:59:29

标签: apache-zeppelin ignite

我在IgniteRDD中保存了一些Spark数据集,其中key和Value都作为BinaryObject运行,并且它也可以正常使用Ignite代码和%ignite interpreter示例进行查询。

%ignite
import org.apache.ignite._
import org.apache.ignite.binary._
import org.apache.ignite.cache.query._
import org.apache.ignite.configuration._
import scala.collection.JavaConversions._

val cache: IgniteCache[BinaryObject, BinaryObject] = ignite.cache("test123")

val qry = new SqlFieldsQuery(
"select _val from testValue", 
true)
val res = cache.withKeepBinary().query(qry).getAll()

collectionAsScalaIterable(res).foreach(println _)

但是当我尝试使用%ignite.ignitesql解释器进行查询时

%ignite.ignitesql 
select * from testValue

它失败并显示“ID的解析类失败:-1422444403”

对我而言,两种方式似乎都有区别在于我首先指定了带有KeepBinary(),在%ignite.ignitesql中可以做多少相似,这样可以直接使用sql

1 个答案:

答案 0 :(得分:0)

现在无法做到这一点,我创建了一张修复此问题的凭单:https://issues.apache.org/jira/browse/IGNITE-4141

但无论如何,我建议在使用Ignite时避免select *查询,因为结果集将包含代表完整对象的预定义_key_val字段。最好在结果集中明确列出所需的字段,这样就不会获取不需要的数据。