Hi Amrit,

Thanks a lot for your suggestion! I will investigate it later.

Best regards,
Yang

2017-01-03 12:25 GMT+01:00 Amrit Jangid <amrit.jan...@goibibo.com>:

> You can try out *debezium* : https://github.com/debezium. it reads data
> from bin-logs, provides structure and stream into Kafka.
>
> Now Kafka can be your new source for streaming.
>
> On Tue, Jan 3, 2017 at 4:36 PM, Yuanzhe Yang <yyz1...@gmail.com> wrote:
>
>> Hi Hongdi,
>>
>> Thanks a lot for your suggestion. The data is truely immutable and the
>> table is append-only. But actually there are different databases involved,
>> so the only feature they share in common and I can depend on is jdbc...
>>
>> Best regards,
>> Yang
>>
>>
>> 2016-12-30 6:45 GMT+01:00 任弘迪 <ryan.hd....@gmail.com>:
>>
>>> why not sync binlog of mysql(hopefully the data is immutable and the
>>> table is append-only), send the log through kafka and then consume it by
>>> spark streaming?
>>>
>>> On Fri, Dec 30, 2016 at 9:01 AM, Michael Armbrust <
>>> mich...@databricks.com> wrote:
>>>
>>>> We don't support this yet, but I've opened this JIRA as it sounds
>>>> generally useful: https://issues.apache.org/jira/browse/SPARK-19031
>>>>
>>>> In the mean time you could try implementing your own Source, but that
>>>> is pretty low level and is not yet a stable API.
>>>>
>>>> On Thu, Dec 29, 2016 at 4:05 AM, "Yuanzhe Yang (杨远哲)" <
>>>> yyz1...@gmail.com> wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> Thanks a lot for your contributions to bring us new technologies.
>>>>>
>>>>> I don't want to waste your time, so before I write to you, I googled,
>>>>> checked stackoverflow and mailing list archive with keywords "streaming"
>>>>> and "jdbc". But I was not able to get any solution to my use case. I hope 
>>>>> I
>>>>> can get some clarification from you.
>>>>>
>>>>> The use case is quite straightforward, I need to harvest a relational
>>>>> database via jdbc, do something with data, and store result into Kafka. I
>>>>> am stuck at the first step, and the difficulty is as follows:
>>>>>
>>>>> 1. The database is too large to ingest with one thread.
>>>>> 2. The database is dynamic and time series data comes in constantly.
>>>>>
>>>>> Then an ideal workflow is that multiple workers process partitions of
>>>>> data incrementally according to a time window. For example, the processing
>>>>> starts from the earliest data with each batch containing data for one 
>>>>> hour.
>>>>> If data ingestion speed is faster than data production speed, then
>>>>> eventually the entire database will be harvested and those workers will
>>>>> start to "tail" the database for new data streams and the processing
>>>>> becomes real time.
>>>>>
>>>>> With Spark SQL I can ingest data from a JDBC source with partitions
>>>>> divided by time windows, but how can I dynamically increment the time
>>>>> windows during execution? Assume that there are two workers ingesting data
>>>>> of 2017-01-01 and 2017-01-02, the one which finishes quicker gets next 
>>>>> task
>>>>> for 2017-01-03. But I am not able to find out how to increment those 
>>>>> values
>>>>> during execution.
>>>>>
>>>>> Then I looked into Structured Streaming. It looks much more promising
>>>>> because window operations based on event time are considered during
>>>>> streaming, which could be the solution to my use case. However, from
>>>>> documentation and code example I did not find anything related to 
>>>>> streaming
>>>>> data from a growing database. Is there anything I can read to achieve my
>>>>> goal?
>>>>>
>>>>> Any suggestion is highly appreciated. Thank you very much and have a
>>>>> nice day.
>>>>>
>>>>> Best regards,
>>>>> Yang
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe e-mail: user-unsubscr...@spark.apache.org
>>>>>
>>>>>
>>>>
>>>
>>
>
>
> --
>
> Regards,
> Amrit
> Data Team
>

Reply via email to