yep. I think it is not possible to make SQL Server do a non logged
transaction. Other alternative is doing inserts in small batches if
possible. Or write to a CSV type file and use Bulk copy to load the file
into MSSQL with frequent commits like every 50K rows?



Dr Mich Talebzadeh



LinkedIn * 
https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw
<https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>*



http://talebzadehmich.wordpress.com



On 20 April 2016 at 19:42, Andrés Ivaldi <iaiva...@gmail.com> wrote:

> Yes, I know that behavior , but there is not explicit Begin Transaction in
> my code, so, maybe Spark or the same driver is adding the begin
> transaction, or implicit transaction is configured. If spark is'n adding a
> Begin transaction on each insertion, then probably is database or Driver
> configuration...
>
> On Wed, Apr 20, 2016 at 3:33 PM, Mich Talebzadeh <
> mich.talebza...@gmail.com> wrote:
>
>>
>> You will see what is happening in SQL Server. First create a test table
>> called  testme
>>
>> 1> use tempdb
>> 2> go
>> 1> create table testme(col1 int)
>> 2> go
>> -- Now explicitly begin a transaction and insert 1 row and select from
>> table
>> 1>
>> *begin tran*2> insert into testme values(1)
>> 3> select * from testme
>> 4> go
>> (1 row affected)
>>  col1
>>  -----------
>>            1
>> -- That value col1=1 is there
>> --
>> (1 row affected)
>> -- Now rollback that transaction meaning in your case by killing your
>> Spark process!
>> --
>> 1> rollback tran
>> 2> select * from testme
>> 3> go
>>  col1
>>  -----------
>> (0 rows affected)
>>
>> -- You can see that record has gone as it rolled back!
>>
>>
>> Dr Mich Talebzadeh
>>
>>
>>
>> LinkedIn * 
>> https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw
>> <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>*
>>
>>
>>
>> http://talebzadehmich.wordpress.com
>>
>>
>>
>> On 20 April 2016 at 18:42, Andrés Ivaldi <iaiva...@gmail.com> wrote:
>>
>>> Sorry I'cant answer before, I want to know if spark is the responsible
>>> to add the Begin Tran, The point is to speed up insertion over losing data,
>>>  Disabling Transaction will speed up the insertion and we dont care about
>>> consistency... I'll disable te implicit_transaction and see what happens.
>>>
>>> thanks
>>>
>>> On Wed, Apr 20, 2016 at 12:09 PM, Mich Talebzadeh <
>>> mich.talebza...@gmail.com> wrote:
>>>
>>>> Assuming that you are using JDBC for putting data into any ACID
>>>> compliant database (MSSQL, Sybase, Oracle etc), you are implicitly or
>>>> explicitly  adding BEGIN TRAN to INSERT statement in a distributed
>>>> transaction. MSSQL does not know or care where data is coming from. If your
>>>> connection completes OK a COMMIT TRAN will be sent and that will tell MSQL
>>>> to commit transaction. If yoy kill Spark transaction before MSSQL receive
>>>> COMMIT TRAN, the transaction will be rolled back.
>>>>
>>>> The only option is that if you don't care about full data getting to
>>>> MSSQL,to break your insert into chunks at source and send data to MSSQL in
>>>> small batches. In that way you will not lose all data in MSSQL because of
>>>> rollback.
>>>>
>>>> HTH
>>>>
>>>> Dr Mich Talebzadeh
>>>>
>>>>
>>>>
>>>> LinkedIn * 
>>>> https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw
>>>> <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>*
>>>>
>>>>
>>>>
>>>> http://talebzadehmich.wordpress.com
>>>>
>>>>
>>>>
>>>> On 20 April 2016 at 07:33, Mich Talebzadeh <mich.talebza...@gmail.com>
>>>> wrote:
>>>>
>>>>> Are you using JDBC to push data to MSSQL?
>>>>>
>>>>> Dr Mich Talebzadeh
>>>>>
>>>>>
>>>>>
>>>>> LinkedIn * 
>>>>> https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw
>>>>> <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>*
>>>>>
>>>>>
>>>>>
>>>>> http://talebzadehmich.wordpress.com
>>>>>
>>>>>
>>>>>
>>>>> On 19 April 2016 at 23:41, Andrés Ivaldi <iaiva...@gmail.com> wrote:
>>>>>
>>>>>> I mean local transaction, We've ran a Job that writes into SQLServer
>>>>>> then we killed spark JVM just for testing purpose and we realized that
>>>>>> SQLServer did a rollback.
>>>>>>
>>>>>> Regards
>>>>>>
>>>>>> On Tue, Apr 19, 2016 at 5:27 PM, Mich Talebzadeh <
>>>>>> mich.talebza...@gmail.com> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> What do you mean by *without transaction*? do you mean forcing SQL
>>>>>>> Server to accept a non logged operation?
>>>>>>>
>>>>>>> Dr Mich Talebzadeh
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> LinkedIn * 
>>>>>>> https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw
>>>>>>> <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>*
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> http://talebzadehmich.wordpress.com
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 19 April 2016 at 21:18, Andrés Ivaldi <iaiva...@gmail.com> wrote:
>>>>>>>
>>>>>>>> Hello, is possible to execute a SQL write without Transaction? we
>>>>>>>> dont need transactions to save our data and this adds an overhead to 
>>>>>>>> the
>>>>>>>> SQLServer.
>>>>>>>>
>>>>>>>> Regards.
>>>>>>>>
>>>>>>>> --
>>>>>>>> Ing. Ivaldi Andres
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Ing. Ivaldi Andres
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> Ing. Ivaldi Andres
>>>
>>
>>
>>
>
>
> --
> Ing. Ivaldi Andres
>

Reply via email to