[英]how to create a Dataset of [(Row, Row)]
我有一個函數接收Dataset[(Row, Row)]
,我正在嘗試測試這個函數,但我不確定如何創建一個數據Dataset[(Row, Row)]
我已經嘗試了以下但它說這是類型tuple2[DataFrame, DataFrame]
val df: Dataset[(Row,Row)] = (
Seq(
("NOW", "active", 1, 11),
("BEFORE", "active", 2, 11),
("AFTER", "active", 3, 33)
).toDF(),
Seq(
("NOW", "sub_uuid1", 1, "com_uuid1"),
("BEFORE", "sub_uuid2", 2, "com_uuid2"),
(null, null, 3, null)
).toDF()
)
我怎樣才能寫出上面的內容,所以它的類型是Dataset[(Row,Row)]
因為您創建了Dataset[Row]
元組:
val ds1: Dataset[Row] = Seq(
("NOW", "active", 1, 11),
("BEFORE", "active", 2, 11),
("AFTER", "active", 3, 33)
).toDF()
val ds2: Dataset[Row] = Seq(
("NOW", "sub_uuid1", 1, "com_uuid1"),
("BEFORE", "sub_uuid2", 2, "com_uuid2"),
(null, null, 3, null)
).toDF()
你只是做了他們的元組:
val df: (Dataset[Row], Dataset[Row]) = (ds1, ds2)
您可以這樣做:
val df: Dataset[(Row, Row)] =
Seq(
(Row("NOW", "active", 1, 11), Row("NOW", "sub_uuid1", 1, "com_uuid1")),
(Row("BEFORE", "active", 2, 11), Row("BEFORE", "sub_uuid2", 2, "com_uuid2")),
(Row("AFTER", "active", 3, 33), Row(null, null, 3, null))
).toDS()
實際上,使用元組行創建數據集是一種不好的做法。 如果您可以重寫您的函數以獲取兩個數據幀( DataFrame: a, DataFrame: b
)而不是ab: Dataset[(Row, Row)]
,那就更好了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.