我想了解在spark scala中如何实现相同方法的不同。
def createDataFrame[A <: Product](data: Seq[A])(implicit evidence$3: reflect.runtime.universe.TypeTag[A]): org.apache.spark.sql.DataFrame
def createDataFrame(rdd: org.apache.spark.api.java.JavaRDD[_],beanClass: Class[_]): org.apache.spark.sql.DataFrame
def createDataFrame(rowRDD: org.apache.spark.api.java.JavaRDD[org.apache.spark.sql.Row],schema: org.apache.spark.sql.types.StructType): org.apache.spark.sql.DataFr
ame
def createDataFrame(data: java.util.List[_],beanClass: Class[_]): org.apache.spark.sql.DataFrame
def createDataFrame(rows: java.util.List[org.apache.spark.sql.Row],schema: org.apache.spark.sql.types.StructType): org.apache.spark.sql.DataFrame
def createDataFrame(rdd: org.apache.spark.rdd.RDD[_],beanClass: Class[_]): org.apache.spark.sql.DataFrame
def createDataFrame[A <: Product](rdd: org.apache.spark.rdd.RDD[A])(implicit evidence$2: reflect.runtime.universe.TypeTag[A]): org.apache.spark.sql.DataFrame
def createDataFrame(rowRDD: org.apache.spark.rdd.RDD[org.apache.spark.sql.Row],schema: org.apache.spark.sql.types.StructType): org.apache.spark.sql.DataFrame
下面是createdataframe方法的不同实现?同一个方法createdataframe如何可以接受不同的参数,而输出是相同的-dataframe?
1条答案
按热度按时间tuwxkamq1#
这是scala语言的一个特性,类似的特性在许多其他语言中都可用,如java、c++等。
此功能称为方法重载,其工作原理如下:
方法重载的一般规则:
所有方法的名称应该相同
参数数/参数类型或两者在所有同名方法中必须是唯一的
在这里
createDataFrame
函数多次重载,以适应用于创建Dataframe的不同场景,从而支持多个源。如果您仔细查看源代码,您将发现您突出显示的那些方法中没有一个具有相同的方法签名。