1

我正在努力开发一种“Hello World”类型的 SnappyData 应用程序,我希望能够在 IntelliJ 中构建和运行它。到目前为止,我的集群是本地计算机上的一个定位器、一个潜在客户和一个服务器。我只想连接到它,序列化一小段数据或者可能是一个 DataFrame,然后看看它是否正常工作。

文档说我应该能够做这样的事情:

val spark: SparkSession = SparkSession
  .builder()
  .appName("SnappyTest")
  .master("xxx.xxx.xxx.xxx:xxxx")
  .getOrCreate()
val snappy = new SnappySession(spark.sparkContext)

但是,我得到“无法解析符号 SnappySession”。

这是我的 build.sbt 中的内容:

name := "snappytest"

version := "0.1"

scalaVersion := "2.11.11"

// https://mvnrepository.com/artifact/io.snappydata/snappy-spark-core_2.11
libraryDependencies += "io.snappydata" % "snappy-spark-core_2.11" % "2.1.1.1"
// https://mvnrepository.com/artifact/io.snappydata/snappy-spark-sql_2.11
libraryDependencies += "io.snappydata" % "snappy-spark-sql_2.11" % "2.1.1.1"

(添加这些后我刷新了项目。)

我收集到,当我导入一些与 Spark 相关的东西时,例如:

import org.apache.spark.sql.SparkSession

我实际上是从我的 build.sbt 中的依赖项中导入扩展的 SnappyData 版本,而不是规范的 org.apache.spark 版本。所以这应该意味着我还可以:

import org.apache.spark.sql.SnappySession

但是,我得到“无法解析符号 SnappySession”。而且我在输入时在代码完成下拉列表中看不到任何与 Snappy 相关的内容。它像香草火花一样寻找整个世界。

我在这里想念什么?我想我错过了一些明显的东西。我在 SnappyData 文档中找不到导入标头或构建语句的示例,我认为是因为这些细节太明显而无法提及。除了我。这里有没有人愿意帮助我解决这个问题?

4

2 回答 2

1

我假设您正在尝试使用 Spark 应用程序连接到现有的 SnappyData 集群。您能否检查http://snappydatainc.github.io/snappydata/howto/spark_installation_using_smart_connector/以查看执行此操作的 maven 坐标参数。

于 2017-10-23T07:15:41.403 回答
1

你应该导入 snappydata-core 来解决这个问题。像这个 Maven 依赖项:

<dependency>
  <groupId>io.snappydata</groupId>
  <artifactId>snappydata-core_${scala.version.major}</artifactId>
  <version>1.0.3</version>
</dependency>
于 2019-05-07T07:00:55.907 回答