Spark AnalysisException无法解析给定输入列的"列名"

Mar*_*ace 5 scala apache-spark spark-dataframe

我有一个包含列x,y的DataFrame

x     y
1     false
1     false
1     true
2     true
2     false
3     null
3     true
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下代码创建列联表,并期望以下结果:

myDataFrame.stat.crosstab("x", "y")

x_y  true    false     null
1    1       2         0
2    1       1         0
3    1       0         1
Run Code Online (Sandbox Code Playgroud)

但是,我得到以下异常: AnalysisException cannot resolve 'true' given input columns [x, y]

列'true'(以及'false'和'null')是stat.crosstab在运行时自动创建的.如果不先对数据进行完全传递,静态分析就无法检测到新的列名.

我正在使用Spark 1.6.1.5.这是一个错误吗?我可以以某种方式禁用分析仪吗?