当我尝试创建名称为“ org”的变量时,为什么会产生火花外壳抛出错误?

时间:2019-07-19 06:50:19

标签: scala variables spark-shell

我试图在Spark Shell(Scala版本2.10.5)中创建名称为“ org”的变量/ val,但抛出错误

我尝试了var和val。

 var org = List(1)
  

错误:值apache不是List [Int]的成员    org.apache.spark.sql.catalyst.encoders.OuterScopes.addOuterScope(this)

1 个答案:

答案 0 :(得分:0)

好吧,我能够创建名称为“ org”的数据框列表

scala> val org = List(1)
org: List[Int] = List(1)

scala> var org = List(1)
org: List[Int] = List(1)

scala>

scala>

scala> val org = Seq((1,2,3), (2,3,4)).toDF()
org: org.apache.spark.sql.DataFrame = [_1: int, _2: int ... 1 more field]

scala> org
res0: org.apache.spark.sql.DataFrame = [_1: int, _2: int ... 1 more field]

scala> org.show
+---+---+---+
| _1| _2| _3|
+---+---+---+
|  1|  2|  3|
|  2|  3|  4|
+---+---+---+

我正在使用Spark版本2.2.0和Scala 2.11.8。我认为此问题可能会在最新版本中得到纠正。但我知道您不能使用某些保留关键字创建值或变量。例如

scala> val new = Seq((1,2)(2,3)).toDF()
<console>:1: error: illegal start of simple pattern
val new = Seq((1,2)(2,3)).toDF()

'org'可能是先前版本中的关键字。希望对您有帮助... !!