我正在做一些测试,我需要创建一个行并使用字段名称获取它的值,但是从文档中我只能使用值创建一个行,这是一个示例:
val row:Row=Row("aa","bb","cc")
//when I a try to get a field :
row.getAs("aa")
I get : fieldIndex on a Row without schema is undefined
这是我想要的:
//some way to add fields name
val row:Row=Row({aa:"aa",bb:"bb",cc:"cc"})
row.getAs("aa") //returns "aa"
除了创建数据框并从中获取行之外,我想知道是否有更好的方法
最佳答案
您可以使用定义的架构创建行:
val schema = StructType(Array(
StructField("aa", StringType),
StructField("bb", StringType),
StructField("cc", StringType)
))
val row = new GenericRowWithSchema(Array("AA", "BB", "CC"), schema)
println(row.getAs[String]("aa"))
关于scala - Spark : how to create a row with fields name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57988743/