如何在 Zeppelin(Scala) 中将数据帧转换为 Seq
How to convert dataframe to Seq in Zeppelin(Scala)
我想在 Zeppelin 中将我的数据帧转换为 Seq。
我的Dataframe如下
+--+-------+-----+
|id| charid| name|
+--+-------+-----+
| 1| a1| ad|
| 2| a2| agf|
| 3| a3| ged|
| 4| a4| nom|
| 5| a5| scal|
| 6| a6| tip|
| 7| a7| low|
+--+-------+-----+
那么我如何将其转换为如下所示的 Seq。
Seq[长, (字符串, 字符串)]
您可以使用 collect
和 toSeq
转换为 Seq,确保您的数据集足够小以适合驱动程序节点
df.rdd
.map(r => (r.getLong(0), (r.getString(1), r.getString(2))))
.collect()
.toSeq
或者
df.collect
.map(r => (r.getLong(0), (r.getString(1), r.getString(2))))
.toSeq
尝试使用 map
和 toSeq
?
val result = df.select($"id".cast("long"), $"charid", $"name")
.rdd
.map(row => (row(0).asInstanceOf[Long], (row(1).asInstanceOf[String], row(2).asInstanceOf[String])))
.collect
.toSeq
我想在 Zeppelin 中将我的数据帧转换为 Seq。
我的Dataframe如下
+--+-------+-----+
|id| charid| name|
+--+-------+-----+
| 1| a1| ad|
| 2| a2| agf|
| 3| a3| ged|
| 4| a4| nom|
| 5| a5| scal|
| 6| a6| tip|
| 7| a7| low|
+--+-------+-----+
那么我如何将其转换为如下所示的 Seq。
Seq[长, (字符串, 字符串)]
您可以使用 collect
和 toSeq
转换为 Seq,确保您的数据集足够小以适合驱动程序节点
df.rdd
.map(r => (r.getLong(0), (r.getString(1), r.getString(2))))
.collect()
.toSeq
或者
df.collect
.map(r => (r.getLong(0), (r.getString(1), r.getString(2))))
.toSeq
尝试使用 map
和 toSeq
?
val result = df.select($"id".cast("long"), $"charid", $"name")
.rdd
.map(row => (row(0).asInstanceOf[Long], (row(1).asInstanceOf[String], row(2).asInstanceOf[String])))
.collect
.toSeq