Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-9869

Create Apache Flink Component

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.18.0
    • camel-flink
    • None
    • Unknown

    Description

      Hello,

      I have created an Apache Flink component for Camel which makes it easier to use Flink for analytics. One can use DataSet callbacks with Spring beans/OSGI services.

      Using Spring's application context, it can be accessed like

      @Bean
      public DataSetCallback<Long> countLinesContaining() {
          return new DataSetCallback<Long>() {
              public Long onDataSet(DataSet dataSet, Object... objects) {
                  try {
                      dataSet.print();
                      return new Long(0);
                  } catch (Exception e) {
                      return new Long(-1);
                  }
              }
          };
      }
      
      @Bean
      public DataSet myDataSet() {
          final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
      
          DataSet<String> text = env.fromElements(
                  "Who's there?",
                  "I think I hear them. Stand ho! Who's there?");
      
          return text;
      }
      
      

      The results can be accessed like

      Long count = template.requestBody("flink:dataSet?dataSet=#myDataSet&dataSetCallback=#countLinesContaining", pattern, Long.class);
      

      Please review & accept my contribution.

      Attachments

        Activity

          People

            davsclaus Claus Ibsen
            sbcd90 Subhobrata Dey
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: