flink-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Till Rohrmann <till.rohrm...@gmail.com>
Subject Re: Collect of user defined classes doesn't work
Date Tue, 14 Apr 2015 13:45:27 GMT
Hi,

I assume that your graphEdges is of type DataSet[EdgeType], right?

Depending on the version you're using the reason might be that the collect
method in the old version does not expect parameters. Thus your parentheses
actually call the apply method on the returned Scala buffer.

In the latest master, this is changed. Thus, your program should work
without an error.

Cheers,

Till

On Tue, Apr 14, 2015 at 3:36 PM, Felix Neutatz <neutatz@googlemail.com>
wrote:

> Hi,
>
> I want to run the following example:
>
> import org.apache.flink.api.scala._
>
> case class EdgeType(src: Int, target: Int)
>
> object Test {
>    def main(args: Array[String]) {
>       implicit val env = ExecutionEnvironment.getExecutionEnvironment
>
>       val graphEdges = readEdges("edges.csv")
>
>       graphEdges.collect()
>    }
>    def readEdges(file: String)(implicit env: ExecutionEnvironment) = {
>       env.readCsvFile[EdgeType](file, "\n", "\t")
>    }
> }
>
> But IntelliJ doesn't compile it and gives me the following explanation:
>
>
> Error:(31, 21) not enough arguments for method apply: (n: Int)EdgeType
> in trait BufferLike.
> Unspecified value parameter n.
>                 graphEdges.collect()
>                                   ^
>
> Can anyone help me out here?
>
> Thanks,
>
> Felix
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message