scala数据帧对数组中WrappedArray元素的访问

scala数据帧对数组中WrappedArray元素的访问,scala,apache-spark,apache-spark-sql,Scala,Apache Spark,Apache Spark Sql,我是scala新手,我花了几个小时在数组中迭代这个WrappedArray并打印每个元素 scala> collected res73: Array[org.apache.spark.sql.Row] = Array([31511,WrappedArray([328,0.7845393], [1264,0.7568395], [933,0.7005877], [78,0.67518044], [787,0.5766443], [806,0.526

我是scala新手,我花了几个小时在数组中迭代这个WrappedArray并打印每个元素

  scala> collected
    res73: Array[org.apache.spark.sql.Row] = 
    Array([31511,WrappedArray([328,0.7845393], [1264,0.7568395], 
          [933,0.7005877], [78,0.67518044], [787,0.5766443], [806,0.5260384],
          [2505,0.48659027], [1625,0.48547864], [2443,0.47885978], [975,0.4683425],
          [888,0.42476034], [723,0.40946054], [1616,0.39374632], [2466,0.37899566],
          [950,0.37615034], [1336,0.36006662], [812,0.3509268], [1558,0.33291495], 
          [286,0.32301086], [758,0.3210116], [1397,0.3134273], [824,0.29997423], 
          [1698,0.29471087], [689,0.2890404], [10,0.27876395], [1146,0.27792412], 
          [1088,0.27623963], [1352,0.2704942], [710,0.26956537], [2065,0.2597088])])
有人能告诉我如何从数组中的WrappedArraygrep元素吗


提前感谢

您可以执行以下操作之一(为了清晰和解释,请发表评论)


我希望答案是有帮助的

基本上,你在收集后得到
行的
数组
数组[行]

根据您的数据,您的行包含两个数据,第一个为
Int
31511
,第二个为
WrappedArray

因此,您可以将
WrappedArray
作为数组

val data = collected.map(_.getList[(Double, Double)](1))
这将为您提供
Array[(Double,Double)]
现在您可以将其用作数组

要仅获取第一个元素,您需要执行
data.map(\u1)


希望这有帮助

@Miguel我想把它们分成两列,就像DataFrame@RameshMaharjan这有帮助。顺便说一句,你知道WrappedArray中的方括号是什么意思吗?这些是dataframe或Dataset中的结构。人们只是疯狂地对答案进行否决,即使不进行测试。我以为是你@Daniel但结果是有人else@RameshMaharjan不。。我只有73分,不足以投反对票,但我投了赞成票。我想了解scala中的数据结构。我想我可以像其他语言一样访问数组,比如java/js,但它看起来非常不同
val data = collected.map(_.getList[(Double, Double)](1))