【问题标题】:How can I add a column with a value to a new Dataset in Spark Java?如何将具有值的列添加到 Spark Java 中的新数据集?
【发布时间】:2017-12-10 22:48:33
【问题描述】:

所以,我正在从 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.

有没有可行的方法将新列添加到Dataset的所有行中,值为1?

【问题讨论】:

    标签: java apache-spark dataset apache-spark-dataset bigdata


    【解决方案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)) 
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2011-09-19
      • 1970-01-01
      • 1970-01-01
      • 2019-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-17
      • 1970-01-01
      相关资源
      最近更新 更多