Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将RDD作为参数传递并将dataframe返回给函数-scala_Scala_Apache Spark_Spark Dataframe - Fatal编程技术网

将RDD作为参数传递并将dataframe返回给函数-scala

将RDD作为参数传递并将dataframe返回给函数-scala,scala,apache-spark,spark-dataframe,Scala,Apache Spark,Spark Dataframe,我试图创建一个函数,该函数将字符串或RDD作为参数,但返回dataframe 代码: 但它总是重复rdd。有什么建议吗?不确定代码不起作用的确切原因,但好的Scala表单将包括指定返回类型: scala> case class Person(id: Int) defined class Person scala> def udf1(fName: String): DataFrame = { | val file = sc.textFile(fName) | fi

我试图创建一个函数,该函数将字符串或RDD作为参数,但返回dataframe

代码:


但它总是重复rdd。有什么建议吗?

不确定代码不起作用的确切原因,但好的
Scala
表单将包括指定返回类型:

scala> case class Person(id: Int)
defined class Person

scala> def udf1(fName: String): DataFrame = {
     | val file = sc.textFile(fName)
     | file.map(p => Person(p.toInt)).toDF()
     | }
udf1: (fName: String)org.apache.spark.sql.DataFrame

scala> val df = udf1("file.txt")
df: org.apache.spark.sql.DataFrame = [id: int]

不确定代码不起作用的确切原因,但好的
Scala
表单将包括指定返回类型:

scala> case class Person(id: Int)
defined class Person

scala> def udf1(fName: String): DataFrame = {
     | val file = sc.textFile(fName)
     | file.map(p => Person(p.toInt)).toDF()
     | }
udf1: (fName: String)org.apache.spark.sql.DataFrame

scala> val df = udf1("file.txt")
df: org.apache.spark.sql.DataFrame = [id: int]

可能是我没有定义返回类型。如果我定义了返回数据帧的方法,它就可以工作了。谢谢!可能是我没有定义返回类型。如果我定义了返回数据帧的方法,它就可以工作了。谢谢!