IMO the Camel iceberg component should live in the camel repo. it can be
part of the camel components registry in camel

On Wed, May 22, 2024 at 9:58 AM Jean-Baptiste Onofré <j...@nanthrax.net>
wrote:

> Hi Manish
>
> No, Camel is not an alternative to Spark or Flink: Camel is not a
> query engine. It's more a "complement" to Kafka Connect.
>
> Regards
> JB
>
> On Wed, May 22, 2024 at 7:09 AM Manish Malhotra
> <manish.malhotra.w...@gmail.com> wrote:
> >
> > Is Camel can be used as an alternate to Flink?
> >
> >
> > On Tue, May 21, 2024 at 10:17 AM Ryan Blue <b...@tabular.io> wrote:
> >>
> >> This is an interesting idea. What is the use case and where should this
> live? I'm unfamiliar with Camel and I'm not sure what the normal thing is.
> At least in the Iceberg community, we generally avoid adding connectors
> unless there is a clear use case and demand for them. We don't want to add
> code that needs to be maintained but isn't used.
> >>
> >> On Tue, May 21, 2024 at 10:15 AM Yufei Gu <flyrain...@gmail.com> wrote:
> >>>
> >>> Hi JB,
> >>>
> >>> Thanks for sharing. Got a few questions:
> >>>
> >>> Does Apache Camel rely on other engines, e.g., Spark or Flink for any
> processing, or is it fully self-contained?
> >>> What are the potential challenges or limitations you foresee? For
> example, does it generate too many commits and/or small files considering
> its use cases(IoT, Event streaming)? Can Camel cache ingestion data, and
> write it to the Iceberg table as a batch?
> >>> How do you recommend handling schema evolution in Iceberg tables when
> integrating with Camel routes?
> >>>
> >>> Yufei
> >>>
> >>>
> >>> On Tue, May 21, 2024 at 6:06 AM Jean-Baptiste Onofré <j...@nanthrax.net>
> wrote:
> >>>>
> >>>> Hi folks,
> >>>>
> >>>> I'm working on a Iceberg component for Apache Camel:
> >>>>
> https://github.com/jbonofre/iceberg/tree/CAMEL/camel/camel-iceberg/src/main
> >>>>
> >>>> Apache Camel is an integration framework, supporting a lot of
> >>>> components and EIPs (Enterprise Integration Patterns, like Content
> >>>> Based Router, Splitter, Aggregator, Content Enricher, ...).
> >>>> Camel is very popular in a lot of use cases, like IoT, system
> >>>> integration, event streamings, ...
> >>>>
> >>>> This component provides a Camel component with:
> >>>> - a Camel consumer endpoint (from) to read data from Iceberg
> >>>> tables/views (scan) and create a Camel exchange
> >>>> - a Camel producer endpoint (to) to write data (from Camel exchange)
> >>>> to Iceberg tables/views
> >>>>
> >>>> For instance, you can write a Camel route like this (using the
> >>>> spring/blueprint DSL for instance):
> >>>>
> >>>> <from uri="jms:queue:foo"/>
> >>>> <process ref="#convertToIcebergRecords"/> <!-- optional depending on
> >>>> the exchange message body -->
> >>>> <to uri="iceberg:my_table?catalog=#ref"/>
> >>>>
> >>>> This route is event driven, consuming messages from the foo JMS queue
> >>>> (from Apache ActiveMQ for instance), and writing a message body to
> >>>> my_table iceberg table (it's possible to use a router or multicast
> >>>> EIPs to send the exchange to different tables).
> >>>> NB: for the from (consumer endpoint), you can use any Camel component
> >>>> (https://camel.apache.org/components/4.4.x/).
> >>>>
> >>>> You can also consume (scan) data from an Iceberg table, and send the
> >>>> generated Exchange to any endpoint/route:
> >>>>
> >>>> <from uri="iceberg:my_table?catalog=#ref"/>
> >>>> <process ref="#convertFromIcebergRecords"/> <!-- optional depending on
> >>>> the next steps in the route -->
> >>>> <wireTap uri="direct:tap"/>
> >>>> <to uri="mongodb:myDB?database=mydb&collection=foo&operation=insert"/>
> >>>>
> >>>> This route generates exchanges from my_table Iceberg table, uses the
> >>>> wiretap EIP and stores the data into a mongoDB database/collection.
> >>>>
> >>>> If I started the component in the Iceberg repo, I think it would make
> >>>> more sense to have it at camel (as Apache Beam contains the Iceberg
> >>>> IO).
> >>>> Thoughts ?
> >>>>
> >>>> Comments are welcome !
> >>>>
> >>>> NB: on a related topic, I created
> https://github.com/apache/iceberg/pull/10365
> >>>>
> >>>> Regards
> >>>> JB
> >>
> >>
> >>
> >> --
> >> Ryan Blue
> >> Tabular
>

Reply via email to