Hello,

The dependencies are fine.

The short answer is i would recommend you to read op on java generics.

The long answer is that OT and T are just placeholders for types that are supposed to be replaced.

You can either provide the type in your implementation:
(in this example, the ReadFromFile inputformat returns the data as strings)

   public class ReadFromFile implements InputFormat<String, InputSplit>{
   }

or add a generic parameter to your inputformat:

   public class ReadFromFile<OT, T extends InputSplit > implements
   InputFormat<OT, T>{
   }

   In this case, the type would be specified when instantiating the
   Inputformat:

       new ReadFromFile<String, InputSplit>(...);

Note that you can also mix this; i.e define the InputSplit type (T) in your implemenetation, but leave
OT to the user.

Regards,
Chesnay


On 18.01.2017 04:52, Pawan Manishka Gunarathna wrote:
Hi,
Yeah I also wrote in the way you have written......

public class ReadFromFile implements InputFormat<OT,T extends InputSplit>{
}

Is that a problem with that declaration or dependencies ?

Thanks,
Pawan

On Tue, Jan 17, 2017 at 7:56 PM, Chesnay Schepler <ches...@apache.org>
wrote:

Hello,

Did you write something like this?

    public class MyInputFormat implements InputFormat<OT, T extends
    InputSplit> {
         ....
    }

Regards,
Chesnay

On 17.01.2017 04:18, Pawan Manishka Gunarathna wrote:

Hi,

I'm currently working on Flink InputFormat Interface implementation. I'm
writing a java program to read data from a file using InputputFormat
Interface. I used maven project and I have added following dependencies to
the pom.xml.

<dependencies>
      <dependency>
          <groupId>org.apache.flink</groupId>
          <artifactId>flink-core</artifactId>
          <version>1.1.4</version>
      </dependency>

      <dependency>
          <groupId>org.apache.flink</groupId>
          <artifactId>flink-clients_2.11</artifactId>
          <version>1.1.4</version>
      </dependency>

      <dependency>
          <groupId>org.apache.flink</groupId>
          <artifactId>flink-java</artifactId>
          <version>1.1.4</version>
      </dependency>

</dependencies>


I have a java class that implements InputFormat. It works with
*InputFormat.
*But it didn't allow to used *InputFormat<OT, T extends InputSplit>. *That
OT field didn't recognized.

I need a any kind of help to solve this problem.

Thanks,
Pawan




Reply via email to