我希望加入多个具有相同名称的列的多个数据集,同时具有不同的数据。这可以重命名dataset列,同时将其转换为dataframe。但是,在使用数据集时,是否可以使用重命名或将前缀设置为列名。
Dataset<Row> uct = spark.read().jdbc(jdbcUrl, "uct", connectionProperties);
Dataset<Row> si = spark.read().jdbc(jdbcUrl, "si", connectionProperties).filter("status = 'ACTIVE'");
Dataset<Row> uc = uct.join(si, uct.col("service_id").equalTo(si.col("id")))uc将有同名“code”的列,那么将很难从uct.code或si.code获得代码的值。
发布于 2018-01-19 11:24:15
Dataframe是Dataset的别名。因此,实际上,您在代码中使用的是数据文件。如果希望保留两个名称相同的列,则必须在使用"withColumnRenamed“选项执行联接之前重命名其中一个列。
https://stackoverflow.com/questions/48339417
复制相似问题