在if语句中创建数据帧

时间:2017-01-13 10:28:53

标签: apache-spark

在条件语句中创建数据帧时,我注意到了一些奇怪的行为

例如:

val bla = 3
case class Test(foo: Int)

val test = if (bla == 1){
   println("foo")
} else {Seq(4,5,6).toDF}

返回任何

而以下代码将返回数据框

val bla = 3
case class Test(foo: Int)

val test = if (bla == 1){
   Seq(1,2,3).toDF
} else {Seq(4,5,6).toDF}

1 个答案:

答案 0 :(得分:1)

因为export var getEditor = function getEditor(el) { var MediumEditorOptions = { toolbar: { buttons: ['bold', 'italic', 'anchor', 'orderedlist', 'unorderedlist', 'h2', 'h3', 'h4', 'MediumBlockquoteExtension'] }, paste: { cleanPastedHTML: true }, extensions: { 'widgetextension': wysiwygExtension, 'MediumBlockquoteExtension': blockquoteExtension } }; var editor = new MediumEditor(el, MediumEditorOptions); marked.setOptions({ pedantic: true }); return editor; } 的返回类型是println,所以编译器必须选择UnitDataFrame的常见超类型 - 它的Unit 1}}

您必须在Anyif中创建DataFrame,即空DataFrame

带有DataFrame类型的变量必须是elseif块中的最后一个表达式