我對Scala和Spark相當陌生。我創建了一個「屬性」類。每個類對象都有一個名稱,一個數據類型和一個布爾值(可爲空或不可空)。所有對象都被保存到一個ListBuffer。將StructFields添加到現有模式
我嘗試從列表中創建一個模式並將每個值傳遞給StructField()。開始工作,但不幸的是沒有更多的項目被添加到模式。
def create_schema_from_attr_list(attr_list: ListBuffer[Attribute]): StructType = {
// Get first list item and initiate schema
var schema = StructType(StructField(attr_list(0).name, attr_list(0).data_type, attr_list(0).nullable) :: Nil)
// Add remaining items
for (i <- 1 until attr_list.length) {
schema.add(attr_list(i).name, attr_list(i).data_type, attr_list(i).nullable)
println("Test " + attr_list(i).name.toString())
}
return schema
}
非常感謝!兩行代碼,令人印象深刻! –