Hi,
do you have this import?

import org.apache.flink.api.scala._

You could also just import
org.apache.flink.api.scala.createTypeInformation but most of the other
stuff in the package is required anyways.

Cheers,
Aljoscha

On Tue, Feb 10, 2015 at 10:05 AM, Sebastian <ssc.o...@googlemail.com> wrote:
> Hi,
>
> I'm trying to write a simple join in flink-scala but for some reasons flink
> fails to compile my code. I've tried several reformulations but can't get
> rid of the error. Can you tell me how to fix this piece of code? I'm using
> flink 0.8.0.
>
> Sebastian
>
> ---------------------------------------------------------------------
>
> Error:(24, 53) not enough arguments for method apply: (implicit evidence$1:
> org.apache.flink.api.common.typeinfo.TypeInformation[(String, Long)],
> implicit evidence$2: scala.reflect.ClassTag[(String,
> Long)])org.apache.flink.api.scala.DataSet[(String, Long)] in class
> JoinDataSet.
> Unspecified value parameters evidence$1, evidence$2.
>       topTrackers.join(domains).where(0).equalTo(1) { (topTracker, domain)
> => domain.annotation -> topTracker._2 }
>                                                     ^
> Error:(24, 53) could not find implicit value for evidence parameter of type
> org.apache.flink.api.common.typeinfo.TypeInformation[(String, Long)]
>       topTrackers.join(domains).where(0).equalTo(1) { (topTracker, domain)
> => domain.annotation -> topTracker._2 }
>                                                     ^
> ---------------------------------------------------------------------
>
> def computeDistribution(trackingGraphFile: String,
>     domainIndexFile: String) = {
>
>   implicit val env = ExecutionEnvironment.getExecutionEnvironment
>
>   val edges = GraphUtils.readEdges(trackingGraphFile)
>   val domains = GraphUtils.readVertices(domainIndexFile)
>
>   val trackersWithNumDomainsTracked =
>     FlinkUtils.countByKey(edges, { edge: Edge => edge.src })
>
>   val topTrackers =
>     trackersWithNumDomainsTracked.filter { _._2 >= 10000 }
>
>   val topTrackerDomains =
>       topTrackers.join(domains).where(0).equalTo(1) {
>         (topTracker, domain) => domain.annotation -> topTracker._2 }
>
>   topTrackerDomains.print()
>
>   env.execute()
> }
>

Reply via email to