所以我现在拥有以下DataFrame,其值如下:
Dataset<Row> ds = sparkSession.read().text(pathFile);
+-------+--------+
| VALUE | TIME |
+-------+--------+
| 5000 | |
+-------+--------+
其中TIME没有值(或为空)。如何在TIME列中添加值?我稍后会在我的程序中添加更多行,并且我需要为VALUE和TIME列添加/追加值。我怎么能这样做?
答案 0 :(得分:2)
如何向TIME列添加值?
和
TIME没有值(或为空)
让我相信您可能想要探索na运营商。
na:DataFrameNaFunctions 返回用于处理缺失数据的DataFrameNaFunctions。
反过来为您提供fill缺失值的方式。
fill(value:String,cols:Array [String]):DataFrame 返回一个新的DataFrame,它替换指定字符串列中的空值。如果指定的列不是字符串列,则忽略它。
如果您只想替换,请使用withColumn运算符。
withColumn(colName:String,col:Column):DataFrame 通过添加列或替换具有相同名称的现有列来返回新的数据集。
作为col
的值,您可以使用lit函数。
lit(文字:任意):列创建一个文字值列。
另一项要求是......
还要添加更多行
那是union运营商。
union(其他:Dataset [T]):Dataset [T] 返回包含此数据集中的行和另一个数据集的新数据集。这相当于SQL中的UNION ALL。