したがって、Java Spark APIからデータセットをいくつか作成しています。これらのデータセットは、spark.sql()メソッドを使用してHiveテーブルから生成されます。
したがって、いくつかのSQL操作(結合など)を実行した後、最終的なデータセットができました。私がやりたいのは、データセット内のすべての行に値「1」を持つ新しい列をその最終的なデータセットに追加することです。したがって、おそらくそれをデータセットに制約を追加することとして見ることができます。
だから、例えば私はこのデータセットを持っています:
Dataset<Row> final = otherDataset.select(otherDataset.col("colA"), otherDataSet.col("colB"));
このような「最終的な」データセットに新しい列を追加したい
final.addNewColumn("colName", 1); //I know this doesn't work, but just to give you an idea.
値が1のデータセットのすべての行に新しい列を追加する実行可能な方法はありますか?
定数値を追加する場合は、 lit 関数を使用できます。
lit(Object literal)
Creates a Column of literal value.
また、変数名finalを別のものに変更します
Dataset<Row> final12 = otherDataset.select(otherDataset.col("colA"), otherDataSet.col("colB"));
Dataset<Row> result = final12.withColumn("columnName", lit(1))
お役に立てれば!