https://github.com/apache/incubator-hudi/issues/714#issuecomment-499981159

Just circling back with the resolution on the mailing list as well.

On Tue, Jun 4, 2019 at 6:24 AM Netsanet Gebretsadkan <[email protected]>
wrote:

> Dear Vinoth,
>
> Thanks for your fast response.
> I have created a new issue called Performance Comparison of
> HoodieDeltaStreamer and DataSourceAPI #714   with the screnshots of the
> spark UI which can be found at the  following  link
> https://github.com/apache/incubator-hudi/issues/714.
> In the UI,  it seems that the ingestion with the data source API is
> spending  much time in the count by key of HoodieBloomIndex and workload
> profile.  Looking forward to receive insights from you.
>
> Kinde regards,
>
>
> On Tue, Jun 4, 2019 at 6:35 AM Vinoth Chandar <[email protected]> wrote:
>
> > Hi,
> >
> > Both datasource and deltastreamer use the same APIs underneath. So not
> > sure. If you can grab screenshots of spark UI for both and open a ticket,
> > glad to take a look.
> >
> > On 2, well one of goals of Hudi is to break this dichotomy and enable
> > streaming style (I call it incremental processing) of processing even in
> a
> > batch job. MOR is in production at uber. Atm MOR is lacking just one
> > feature (incr pull using log files) that Nishith is planning to merge
> soon.
> > PR #692 enables Hudi DeltaStreamer to ingest continuously while managing
> > compaction etc in the same job. I already knocked off some index
> > performance problems and working on indexing the log files, which should
> > unlock near real time ingest.
> >
> > Putting all these together, within a month or so near real time MOR
> vision
> > should be very real. Ofc we need community help with dev and testing to
> > speed things up. :)
> >
> > Hope that gives you a clearer picture.
> >
> > Thanks
> > Vinoth
> >
> > On Mon, Jun 3, 2019 at 1:01 AM Netsanet Gebretsadkan <[email protected]
> >
> > wrote:
> >
> > > Thanks, Vinoth
> > >
> > > Its working now. But i have 2 questions:
> > > 1. The ingestion latency of using DataSource API with
> > > the  HoodieSparkSQLWriter  is high compared to using delta streamer.
> Why
> > is
> > > it slow? Are there specific option where we could specify to minimize
> the
> > > ingestion latency.
> > >    For example: when i run the delta streamer its talking about 1
> minute
> > to
> > > insert some data. If i use DataSource API with HoodieSparkSQLWriter,
> its
> > > taking 5 minutes. How can we optimize this?
> > > 2. Where do we categorize Hudi in general (Is it batch processing or
> > > streaming)?  I am asking this because currently the copy on write is
> the
> > > one which is fully working and since the functionality of the merge on
> > read
> > > is not fully done which enables us to have a near real time analytics,
> > can
> > > we consider Hudi as a batch job?
> > >
> > > Kind regards,
> > >
> > >
> > > On Thu, May 30, 2019 at 5:52 PM Vinoth Chandar <[email protected]>
> > wrote:
> > >
> > > > Hi,
> > > >
> > > > Short answer, by default any parameter you pass in using option(k,v)
> or
> > > > options() beginning with "_" would be saved to the commit metadata.
> > > > You can change "_" prefix to something else by using the
> > > >  DataSourceWriteOptions.COMMIT_METADATA_KEYPREFIX_OPT_KEY().
> > > > Reason you are not seeing the checkpointstr inside the commit
> metadata
> > is
> > > > because its just supposed to be a prefix for all such commit
> metadata.
> > > >
> > > > val metaMap = parameters.filter(kv =>
> > > > kv._1.startsWith(parameters(COMMIT_METADATA_KEYPREFIX_OPT_KEY)))
> > > >
> > > > On Thu, May 30, 2019 at 2:56 AM Netsanet Gebretsadkan <
> > > [email protected]>
> > > > wrote:
> > > >
> > > > > I am trying to use the HoodieSparkSQLWriter to upsert data from any
> > > > > dataframe into a hoodie modeled table.  Its creating everything
> > > correctly
> > > > > but , i also want to save the checkpoint but i couldn't even though
> > am
> > > > > passing it as an argument.
> > > > >
> > > > > inputDF.write()
> > > > > .format("com.uber.hoodie")
> > > > > .option(DataSourceWriteOptions.RECORDKEY_FIELD_OPT_KEY(),
> "_row_key")
> > > > > .option(DataSourceWriteOptions.PARTITIONPATH_FIELD_OPT_KEY(),
> > > > "partition")
> > > > > .option(DataSourceWriteOptions.PRECOMBINE_FIELD_OPT_KEY(),
> > "timestamp")
> > > > > .option(HoodieWriteConfig.TABLE_NAME, tableName)
> > > > > .option(DataSourceWriteOptions.COMMIT_METADATA_KEYPREFIX_OPT_KEY(),
> > > > > checkpointstr)
> > > > > .mode(SaveMode.Append)
> > > > > .save(basePath);
> > > > >
> > > > > am using the COMMIT_METADATA_KEYPREFIX_OPT_KEY() for inserting the
> > > > > checkpoint while using the dataframe writer but i couldn't add the
> > > > > checkpoint meta data in to the .hoodie meta data. Is there a way i
> > can
> > > > add
> > > > > the checkpoint meta data while using the dataframe writer API?
> > > > >
> > > >
> > >
> >
>

Reply via email to