【发布时间】:2019-09-13 16:06:28
【问题描述】:
我想将包含 Double 值的 Dataframe 转换为 List,以便我可以使用它进行计算。您有什么建议,以便我可以采用正确的类型 List(即 Double)?
我的做法是这样的:
var newList = myDataFrame.collect().toList
但它返回一个类型 List[org.apache.spark.sql.Row] 我不知道它到底是什么!
是否可以忘记该步骤,只需将我的 Dataframe 传递到函数中并从中进行计算? (例如,我想将其第二列的第三个元素与特定的 double 进行比较。是否可以直接从我的 Dataframe 中这样做?)
我必须不惜一切代价了解如何每次都创建正确的类型列表!
编辑:
输入数据框:
+---+---+
|_c1|_c2|
+---+---+
|0 |0 |
|8 |2 |
|9 |1 |
|2 |9 |
|2 |4 |
|4 |6 |
|3 |5 |
|5 |3 |
|5 |9 |
|0 |1 |
|8 |9 |
|1 |0 |
|3 |4 |
|8 |7 |
|4 |9 |
|2 |5 |
|1 |9 |
|3 |6 |
+---+---+
转换后的结果:
List((0,0), (8,2), (9,1), (2,9), (2,4), (4,6), (3,5), (5,3), (5,9), (0,1), (8,9), (1,0), (3,4), (8,7), (4,9), (2,5), (1,9), (3,6))
但是 List 中的每个元素都必须是 Double 类型。
【问题讨论】:
-
你能解释一下输入和预期结果吗?
-
您好!再次检查!
标签: scala list apache-spark dataframe