在为一个小型Spark Scala应用程序从命令行运行“sbt包”时,我在以下代码行中得到“value$is not a member of StringContext”编译错误:
val joined = ordered.join(empLogins, $"login" === $"username", "inner")
.orderBy($"count".desc)
.select("login", "count")
Intellij 13.1给了我同样的错误消息。相同的。scala源代码在Eclipse 4.4.2中编译时没有任何问题。此外,它在命令行的一个单独的maven项目中与maven配合良好。
sbt似乎无法识别$符号,因为我的项目/插件中缺少了一些插件。sbt文件或我的构建中的某些设置。sbt文件。
你熟悉这个问题吗?任何提示都将不胜感激。我可以提供构建。sbt和/或项目/插件。sbt(如需要)。
很好的答案,伙计们,如果解决导入是一个问题,那么这会起作用吗
import org.apache.spark.sql.{SparkSession, SQLContext}
val ss = SparkSession.builder().appName("test").getOrCreate()
val dataDf = ...
import ss.sqlContext.implicits._
dataDf.filter(not($"column_name1" === "condition"))
$-可以通过在对象(spark)上导入隐式来使用列的符号
val spark = org.apache.spark.sql.SparkSession.builder
.master("local")
.appName("App name")
.getOrCreate;
import spark.implicits._
然后用$符号表示代码
val joined = ordered.join(empLogins, $"login" === $"username", "inner")
.orderBy($"count".desc)
.select("login", "count")
您需要确保导入sqlContext。隐含_
这使您可以使用隐式类StringToColumn扩展AnyRef
评论如下:
将$"colname"转换为列。
我正在尝试使用spark df读取spark中的CSV文件。文件没有标题列,但我想有标题列。如何做到这一点?我不知道我是否正确,我写了这个命令- 并将列名作为列的_c0和_c1。然后我尝试使用:val df1=df.with列重命名("_c0","系列")将列名更改为所需的名称,但我得到"with列重命名"不是单元上的成员。 PS:我已经导入了spark.implicits._和spark.sql
我正试图在一个spark项目上使用sbt程序集。sbt编译和打包工作,但当我尝试sbt汇编时,我得到以下错误: plugins.sbt: 完整错误消息:
我从这里得到上面的错误消息: 特别是从第二行。。进口是 akka版本是2.2.1,scala是2.10.2,我正在使用sbt 0.13来构建它。 编辑:我用 结果如下:
我正在为弹性豆茎上的WordPress部署设置比特桶管道。 此错误消息在第行中弹出: 其他相关问题以及为什么它不能解决我的问题: 1 2:Bitbucket环境中没有/.aws/config 3:上面提到的错误消息 到目前为止,Bitbucket管道:
sbt 是一个用于构建 Scala 和 Java 项目的构建工具,要求 Java 1.6 或者更新版本。
对于和的未处理插件异常,我收到一个错误: 未处理的异常:MissingPluginException(在channel plugins.flatter.io/shared_首选项上找不到方法getAll的实现)未处理的异常:MissingPluginException(在channel plugins.flatter.io/path_provider上找不到方法getApplicationSupp