0
我的数据集有一个名为列“键(串),价值(长)”如何变换数据集<Row>另一个
像prefix.20171012.111.2222列项的值,和列值的9999价值
我想将数据集转换成一个新的数据集,将colmun键拆分为像“day,rt,item_id,value”这样的其他数据集。
如何做到这一点,非常感谢
我的数据集有一个名为列“键(串),价值(长)”如何变换数据集<Row>另一个
像prefix.20171012.111.2222列项的值,和列值的9999价值
我想将数据集转换成一个新的数据集,将colmun键拆分为像“day,rt,item_id,value”这样的其他数据集。
如何做到这一点,非常感谢
// input ds looks like this
+--------+-----+
| key|value|
+--------+-----+
|20171011| 9999|
+--------+-----+
//import the functions you need
import org.apache.spark.sql.functions.{to_date, month, year, dayofmonth}
// ds2
val ds2 = ds.withColumn("date", to_date($"key", "yyyyMMdd"))
// ds2.show()
+--------+-----+----------+
| key|value| date|
+--------+-----+----------+
|20171011| 9999|2017-10-11|
+--------+-----+----------+
// ds3
val ds3 = ds2.withColumn("Month", month($"date"))
.withColumn("Year", year($"date"))
.withColumn("Date", dayofmonth($"date"))
// ds3.show()
+--------+-----+----+-----+----+
| key|value|Date|Month|Year|
+--------+-----+----+-----+----+
|20171011| 9999| 11| 10|2017|
+--------+-----+----+-----+----+
也许这个问题可以帮助你:https://stackoverflow.com/questions/39255973 – Shaido
嗨,Shaido。感谢您的快速回复,我正在尝试。 –