仅用于 SnappyData 客户端的 Maven 工件?

Maven artifacts for only a SnappyData client?

今天,我正在加载一个包含这些依赖项的 pom。但是,由此创建的 SpringBoot jar 很大,我认为这是因为它确实包含所有 Snappy Store jar 等。

构建的 SpringBoot Jar 捆绑了所有 Jetty jar,因为 Snappy 使用嵌入式 Web 应用程序 (Pulse)。我不想要所有这些,特别是因为现在 SpringBoot 从 Jetty 开始,我想要 EmbeddedTomcat。

是否有一组特定的客户端专用 Maven 依赖项我可以改为包含?

<dependency>
        <groupId>io.snappydata</groupId>
        <artifactId>snappy-core_2.10</artifactId>
        <version>0.5</version>
    </dependency>
    <dependency>
        <groupId>io.snappydata</groupId>
        <artifactId>snappy-cluster_2.10</artifactId>
        <version>0.5</version>
        <exclusions>
            <exclusion>
                <artifactId>jdk.tools</artifactId>
                <groupId>jdk.tools</groupId>
            </exclusion>
            <exclusion>
                <artifactId>logback-classic</artifactId>
                <groupId>ch.qos.logback</groupId>
            </exclusion>
        </exclusions>
    </dependency>

您可以使用 snappydata-store-client 工件来拉取客户端 jar:

<dependency>
  <groupId>io.snappydata</groupId>
  <artifactId>snappydata-store-client</artifactId>
  <version>1.5.0</version>
</dependency>

如果使用 Spark 的任何复杂类型(ArrayType、MapType、StructType),则客户端将无法仅使用客户端 jar 反序列化结果。对于这种情况,您可以使用“complexTypeAsClob”查询提示来获取值 (CLOB) 的字符串形式:

SELECT * FROM table1 /*+ complexTypeAsClob(1) */