我在IgniteRDD上执行sql查询。它正在运行RDD转换和操作,但是当我在IgniteRDD上调用一个sql时,它不会返回任何结果。这是我写的确切代码
# some very easy DataFrame for demo
>>> df=pd.DataFrame({0:[1,2,3], 1:[3,4,5], 2:[3,4,1]})
>>> df
0 1 2
0 1 3 3
1 2 4 4
2 3 5 1
>>> df[0].min(), df[0].max() # Xmin, Xmax
(1, 3)
>>> df[1].min(), df[1].max() # Ymin, Ymax
(3, 5)
>>> df[2].min(), df[2].max() # Zmin, Zmax
(1, 4)
这里对变换值的动作.take(5)返回结果并打印出来。但是当我在上面运行sql方法时,它返回0作为行计数。我不知道。请帮助。
以下是我的缓存配置设置:
import csv, math
c = csv.reader(open('data/1.csv', 'r'), delimiter=',')
xmin = +math.inf
xmax = -math.inf
for row in c:
x = int(row[1]) ## or another column
xmin = min(xmin, x)
xmax = max(xmax, x)
# the same code for Y and Z
print(xmin, xmax)
答案 0 :(得分:1)
number
类中没有Integer
字段,因此从SQL角度来看总是null
。使用基元作为键和/或值时,您可以使用预定义的_key
和_val
字段。所以查询看起来像这样:
select * from Integer where _val > ? and _val < ?
在这种情况下,没有太多理由使用queryEntities
。 setIndexedTypes
足够简单。