puyvqi created HUDI-1514:
----------------------------
Summary: Avoid raw type use for parameter of interface
Key: HUDI-1514
URL: https://issues.apache.org/jira/browse/HUDI-1514
Project: Apache Hudi
Issue Type: Improvement
Components: Utilities
Reporter: puyvqi
Fix For: 0.6.1
Attachments: image-2021-01-07-17-23-46-202.png
org.apache.hudi.utilities.transform.Transformer method api:
Dataset {color:#ffc66d}apply{color}(JavaSparkContext jsc{color:#cc7832},
{color}SparkSession sparkSession{color:#cc7832}, {color}Dataset<Row>
rowDataset{color:#cc7832}, {color}TypedProperties
properties){color:#cc7832};{color}
{color:#172b4d}it's a bad idea to use raw type parameter(without a type
parameter or wildcard) in interface ,especially Dataset[T] is define in
scala,when implementing this interface in scala. it turn out to be an
compilation error:
{color}
{code:java}
//overriding method apply in trait Transformer of type (x$1:
org.apache.spark.api.java.JavaSparkContext, x$2:
org.apache.spark.sql.SparkSession, x$3:
org.apache.spark.sql.Dataset[org.apache.spark.sql.Row], x$4:
org.apache.hudi.common.config.TypedProperties)org.apache.spark.sql.Dataset;
method apply has incompatible type
override def apply(jsc: JavaSparkContext, sparkSession: SparkSession,
rowDataset: Dataset[Row], properties: TypedProperties): Dataset[_] = rowDataset
{code}
{code:java}
//method apply has incompatible type
override def apply(jsc: JavaSparkContext, sparkSession: SparkSession,
rowDataset: Dataset[Row], properties: TypedProperties): Dataset[Row] =
rowDataset
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)