我正在使用ignite作为spark的外部数据源,我需要一些提示来了解ignite对于spark如何处理从缓存和文件加载的重复数据删除,最好向我展示哪个类文件是用于此目的的,谢谢。
de90aj5v1#
您将在hdfs和ignite synchronize之间进行更新。这需要通过一些特殊的方式来实现:1) 您可以尝试实现ignite第三方缓存存储,它将使用一些hdfs数据库(hive、hbase):https://ignite.apache.org/docs/latest/persistence/custom-cache-store之后,您可以设置特殊策略,解释如何在HDF之间管理更新:https://apacheignite.readme.io/docs/3rd-party-store#read-通过和写通过如果设置了write-through,那么ignite的每个更新都将应用于hdfs数据库。如果ignite中没有值,则通读将有助于从hdfs数据库读取数据。请注意,gridgain供应商为hdfs提供了现成的解决方案:https://www.gridgain.com/docs/latest/integrations/datalake-accelerator/load-sync-hive2) 另一种方法是实现一些事务管理器,处理ignite和hdfs数据库之间的更新。像这样:https://github.com/apache/ignite/tree/master/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/jta但是,spark本身以及ignitespark集成无法同步两个不同的数据库。在使用spark之前,您必须自己完成此操作。比尔,安德烈
1条答案
按热度按时间de90aj5v1#
您将在hdfs和ignite synchronize之间进行更新。这需要通过一些特殊的方式来实现:
1) 您可以尝试实现ignite第三方缓存存储,它将使用一些hdfs数据库(hive、hbase):
https://ignite.apache.org/docs/latest/persistence/custom-cache-store
之后,您可以设置特殊策略,解释如何在HDF之间管理更新:
https://apacheignite.readme.io/docs/3rd-party-store#read-通过和写通过
如果设置了write-through,那么ignite的每个更新都将应用于hdfs数据库。如果ignite中没有值,则通读将有助于从hdfs数据库读取数据。
请注意,gridgain供应商为hdfs提供了现成的解决方案:
https://www.gridgain.com/docs/latest/integrations/datalake-accelerator/load-sync-hive
2) 另一种方法是实现一些事务管理器,处理ignite和hdfs数据库之间的更新。像这样:
https://github.com/apache/ignite/tree/master/modules/jta/src/test/java/org/apache/ignite/internal/processors/cache/jta
但是,spark本身以及ignitespark集成无法同步两个不同的数据库。在使用spark之前,您必须自己完成此操作。
比尔,安德烈