必须设置 Ignite grid name thread local 或应在 org.apache.ignite.thread.IgniteThread 下访问此方法
Ignite grid name thread local must be set or this method should be accessed under org.apache.ignite.thread.IgniteThread
这个错误是什么意思?我正在尝试从 Apache Spark 地图函数中检索 Ignite 缓存。
我是不是漏掉了什么?
很可能 Ignite
或 IgniteCache
实例被序列化并与函数一起发送到执行程序。您应该避免这种情况并使用 Ignition
.
在本地获取 Ignite
澄清:
Ignite 实例可以在 Ignite 线程的上下文中成功反序列化,因此对于 Ignite 计算它可以正常工作。但在这种情况下,它是 Spark 并且将 Ignite 发送到执行程序是错误的。事实上,并不能保证它在那里存在,因此应该始终使用 Ignition 在 Spark 执行器上正确获取或创建客户端节点。
这个错误是什么意思?我正在尝试从 Apache Spark 地图函数中检索 Ignite 缓存。
我是不是漏掉了什么?
很可能 Ignite
或 IgniteCache
实例被序列化并与函数一起发送到执行程序。您应该避免这种情况并使用 Ignition
.
Ignite
澄清:
Ignite 实例可以在 Ignite 线程的上下文中成功反序列化,因此对于 Ignite 计算它可以正常工作。但在这种情况下,它是 Spark 并且将 Ignite 发送到执行程序是错误的。事实上,并不能保证它在那里存在,因此应该始终使用 Ignition 在 Spark 执行器上正确获取或创建客户端节点。