【问题标题】:Apache Spark :org.apache.spark.sql.Dataset.drop(String... colNames) method for JavaApache Spark :org.apache.spark.sql.Dataset.drop(String... colNames) 方法用于 Java
【发布时间】:2018-04-25 05:30:33
【问题描述】:

我有两个表,有两个公共列。 我正在使用这些列进行连接。 现在我想从其中一个表中删除常用列。 查了API,发现Spark里面有很多重载的方法。

其中一个是:org.apache.spark.sql.Dataset.drop(String... colNames)

但是我的问题是如何指定要从中删除列的表名。有什么办法吗?

我搜索并发现有一些别名的概念,但我不确定如何将其应用于此方法。

【问题讨论】:

    标签: java apache-spark spark-dataframe


    【解决方案1】:

    我发现有几种方法:

    1) 在加入前重命名列。

    2) 在一个类型中删除一列

    ex. `df1.drop(df2.col("ACCT_NBR"));`
    

    通过上面的表达式,我们得到 DF 作为返回类型,我们可以再次调用 drop 函数多次。

    这解决了我的问题。

    【讨论】:

      【解决方案2】:

      您需要创建表的Dataframe/Dataset,然后使用.drop()

      Dataset<Row> sa = spark.read().option("multiLine", true).option("mode", "PERMISSIVE").json("file-path");
      sa.drop("col-name");
      

      【讨论】:

        猜你喜欢
        • 2015-06-30
        • 1970-01-01
        • 2021-08-09
        • 2015-05-21
        • 2018-02-17
        • 1970-01-01
        • 2011-06-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多