1

我正在使用 Snappydata 和 SQL 来运行一些分析,但是这项工作很慢,并且涉及对非常大的输入数据的连接操作。

我正在考虑先对输入数据进行分区,然后在不同的分区上同时运行作业以加快进程。但是在我使用的嵌入模式下,我的代码获取了传入的 SnappySession,我可以使用 bin/snappy-sql 来查询表,所以我假设所有 snappydata 作业都将共享相同的 SnappySession(或相同的表命名空间,如据我了解,Postgresql 中的相同数据库)。

所以我假设如果我使用具有不同输入参数的同一个 jar 提交我的作业,那么对于不同的作业,表命名空间将是相同的,从而导致错误。

所以我的问题是:是否可以有多个 snappySession(或多个命名空间,如数据库名称)独立运行一系列操作,最好在一个 snappydata 作业中,以避免同时管理多个作业?

4

1 回答 1

1

我不确定我是否遵循这个问题。也许这会有所帮助:

当使用 snappy-sql 提交查询时,此 shell 使用 JDBC 连接并运行查询。在内部 snappy 将根据查询启动一个 Job 并在每个分区上运行并发任务。而且,是的,这个 SQL 会话在内部与一个唯一的 SnappySession(火花会话)相关联。

或者,也许,您正试图在许多表中分区数据并开始独立但并行地处理这些表?

于 2017-09-21T18:19:10.867 回答