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的主要内容,如果未能解决你的问题,请参考以下文章
sbteclipse:创建 build.sbt 和 plugins.sbt