我想构建一个基于Apache Spark SQL的简单数据库。为此,我创建了一个ApacheSparkSQL项目,并编写了一些Scala类来进行一些计算。我想使用CLI(和/或JDBC)接口运行Spark,并能够访问我编写的函数。
我使用SBT(在IntelliJ中)构建并运行了spark。如果我理解正确的话,对于CLI来说,繁荣是必要的。因此,我已将添加到我的SBT构建文件中
scalacOptions ++= Seq("-Pyarn", "-Phadoop-2.3", "-Phive", "-Phive-thriftserver")
然而,我得到了一个糟糕的选项错误。如何编译和组装项目,然后如何继续运行CLI?
首先,您可能会发现在运行时分叉JVM很有用。如果是,则添加此设置:
fork in run := true
无论哪种方式,要在运行时将选项传递给JVM,请使用以下示例:
javaOptions in run ++= Seq("-Xmx8G", ...)
请注意,scalacOptions
仅影响编译。
-P...
选项的作用是什么?我不熟悉他们。请注意,如果要将它们传递给shell脚本,则不会发生这种情况,因为您直接调用JVM。