I'm running a big query update DML command using the tBigQueryInput component.
The command executes successfully but the component doesn't stop running or move onto the next task. It's as if it is waiting for a resultset from the DML command however there is no result because it is an UPDATE.
Does anyone have experience with this?
Could you please indicate on which build version you got this issue? What does your job design look like? Screenshots will be preferred.
I'm using Talend Open Studio for Big Data Version: 22.214.171.12480116_1512
tBigQueryInput executes a DML statement, eg. delete from table where 1=1
This runs against BQ and deletes all data in a table but tBigQueryInput doesn't finish. I have to use tJavaRow to kill the process using this piece of code: System.exit(99);
Could you please try to use tBigQueryInput with a Query, and include: "#standardSQL\n" then the query you wish to execute to see if it works?
Here are some links for reference:
Sorry I didn't mention that I am already executing the commands using "#standardSQL\n".
Unfortunately I have the same issue with or without the "#standardSQL\n".
Would you mind posting your tBigQueryInput DML statement here?
Here is an example of a DML that I'm running:
INSERT INTO `sdk.app` (_id,package_name)
FROM `sdk.appDelta` AS S
LEFT JOIN `sdk.app` AS D
ON S._id = D._id
WHERE D._id IS NULL"
It seems that this is something that the Spark API doesn't offer yet. We will make an investigation on this issue to see if there is any workaround and will keep you posted.
Here exists a new feature jira issue:https://jira.talendforge.org/browse/TBD-3547.
Feel free to vote for it.
I have the similar issue as well. Executing BigQuery DML using tBigQueryInput component.
The statement has been executed successfully but the process just won't move on to the next component.
I am using Talend Integration Cloud 7.0.1, and below is my DML statement: -
INSERT `data-mgmt-191603.BL_ODS_DL.dl_PassengerJourneySegment_History` (PassengerID, SegmentID, DepartureDate, DepartureStation, ArrivalStation, JourneyNumber, SegmentNumber, ClassOfService, TripType, CreatedDate, ModifiedDate, DeleteFlag, ETLModifiedDate, FareJourneyType, ProductClassCode, LoadedDate,RowType)
SELECT src.PassengerID, src.SegmentID, CAST( src.DepartureDate AS TIMESTAMP),src.DepartureStation , src.ArrivalStation, src.JourneyNumber, src.SegmentNumber, src.ClassOfService, src.TripType, src.CreatedDate, src.ModifiedDate, upd.DeleteFlag, src.ETLModifiedDate, src.FareJourneyType, src.ProductClassCode, src.LoadedDate,'Updated with Reference Column' FROM `data-mgmt-191603.BL_ODS_DL.dl_PassengerJourneySegment` src,`data-mgmt-191603.BL_ODS_STG.stg_PassengerJourneySegment_update` upd
WHERE Concat(CAST(src.PassengerID AS STRING),'A',CAST(src.SegmentID AS STRING))=Concat(CAST(upd.PassengerID AS STRING),'A',CAST(upd.SegmentID AS STRING))"
Is there no solution yet?
I face the same issue, I wrote a big query INSERT DML command using the tBigQueryInput component.
The command executes successfully where I can see the target table is inserted with data but the component doesn't stop running or move onto the next task too.
Is there a resolution yet?
I am writing a similar INSERT statement but i receive an error everytime as:
---> Reason: invalidQuery
Message: Cannot set destination table in jobs with DML statements
Even a simple insert like below gives me the same error:
INSERT INTO `SurveyMonkey.Survey_Monkey_Customer_Names`(person_customer_id,person_customer_name)
We have replied to your another topic:https://community.talend.com/t5/Design-and-Development/tbigqueryinput-support-for-DML-statements/m-p...
Could you please have a look at it?
I can see that people are running insert statements in this thread but i am not able to do so. Can people help me if there needs to be some adjustment at BigQuery or Talend required apart adding #StandardSQL on top of the query?