我正在使用Snappydata和SQL来运行一些分析,但是这项工作很慢并且涉及对非常大的输入数据的连接操作。
我正在考虑首先对输入数据进行分区,然后同时在不同的分区上运行作业以加快进程。但 在我使用的嵌入模式中,我的代码获取传入的SnappySession,我可以使用bin / snappy-sql来查询表,所以我假设所有snappydata作业都将共享相同的SnappySession(或相同的表命名空间,就像这样我理解的Postgresql中的数据库。)
所以我假设如果我使用具有不同输入参数的相同jar提交我的作业,则表名称空间对于不同的作业将是相同的,从而导致错误。
所以我的问题是:是否可以有多个独立运行一系列操作的snappySession(或多个命名空间,如数据库名称),最好是在一个snappydata作业中,以避免同时管理多个作业?
答案 0 :(得分:1)
我不确定我是否遵循了这个问题。也许这会有所帮助:
使用snappy-sql提交查询时,此shell使用JDBC连接并运行查询。内部snappy将启动一个Job并根据查询在每个分区上运行并发任务。并且,是的,此SQL会话内部与唯一的SnappySession(spark会话)相关联。
或许,您可能尝试在多个表中对数据进行分区,并且可以独立但并行地开始处理这些表?