SnappyData:在 build.sbt 和 import 语句中放入啥,以便我可以使用 SnappySession

Posted

技术标签:

【中文标题】SnappyData:在 build.sbt 和 import 语句中放入啥,以便我可以使用 SnappySession【英文标题】:SnappyData: What to Put in build.sbt and import Statement so I Can Use SnappySessionSnappyData:在 build.sbt 和 import 语句中放入什么,以便我可以使用 SnappySession 【发布时间】:2017-10-23 06:20:56 【问题描述】:

我正在努力开发一种“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 相关的内容。它像香草 Spark 一样寻找全世界。

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

另外,请参考此链接指定 SBT 依赖项:snappydatainc.github.io/snappydata/affinity_modes/local_mode/… // mvnrepository.com/artifact/io.snappydata/… libraryDependencies += "io.snappydata" % "snappydata-cluster_2.11" % "1.0.0" 根据那些文档,libraryDependencies += "io.snappydata" % "snappydata-cluster_2.11" % "1.0.0" 似乎是相关行 感谢您的努力,伙计们!Amogh:您在哪里看到这些链接中的 SBT 依赖项?我已经浏览了这些页面几次,还没有看到任何 build.sbt 示例。链接的示例是 scala 代码,但我无法在该代码中进行相同的导入。 抱歉,评论的格式不正确。如果您在 that page 上搜索 SBT 依赖项,您会发现评论中发布的示例(也与上面发布的 @plambre 相同)。 Joesph,你说的是 SnappyData 的 API 参考吗?也许你的意思是:snappydatainc.github.io/snappydata/apidocs/#package【参考方案2】:

您应该导入 snappydata-core 来解决这个问题。像这个 maven 依赖:

<dependency>
  <groupId>io.snappydata</groupId>
  <artifactId>snappydata-core_$scala.version.major</artifactId>
  <version>1.0.3</version>
</dependency>

【讨论】:

以上是关于SnappyData:在 build.sbt 和 import 语句中放入啥,以便我可以使用 SnappySession的主要内容,如果未能解决你的问题,请参考以下文章

build.sbt 和 build.scala 有啥区别?

sbteclipse:创建 build.sbt 和 plugins.sbt

sbt.build 用于多个项目和 playframework

sbt.build 文件的导入未找到错误

在 build.sbt 中过滤类

build.sbt:如何添加 spark 依赖项