potiuk commented on PR #30658:
URL: https://github.com/apache/airflow/pull/30658#issuecomment-1510437413

   > > usually, we keep a transfer operator in Google provider if data move 
from some services to Google services like from Postgres to Bigquery or from s3 
to Bigquery/GCS so not sure if Google provider is the right place for this 
transfer operator.
   > 
   > I am new to AirFlow so I don't have an opinion on this. I added the module 
next to other similar operators (`BigQueryToMySqlOperator` and 
`BigQueryToMsSqlOperator`). Did you notice those operators?
   
   
   Summarizing: yes the current location is good.
   
   cc: @pankajastro : The rule is a bit more complex here and derived not only 
based on whether the provider is on  the "To" or "From" side of the transfer. 
In most cases, yes, the "To" side is more important, but not for the reason you 
think. The reason is that usually the "To" side (means - service)  is more 
interested in receiving the data and is more lilely to be maintained by whoever 
puts the focus on the "to" provider.  But it only makes sense if you have 
provider like "S3 <=> GCS"  - where you have Amazon on one side and Google on 
the other. In this case Google is more insterested to maintain `S3 To GCS` and 
Amazon is more interested in `GCS to S3` for obvious reasons. That's one the 
first one should be in Google provider and the other in the Amazon one - 
because respectively Google and Amazon will be interested in maintaining those.
   
   For Bigquery to MySQL or Postgres , this is not as easy - because there is 
no "service provider" who would be interested in getting data to Postgres / 
MySQL (because those are generic databases, and while they have soime 
"stakeholders" those stakeholders do not own the service that they would be 
interested to get data in. And in this case Google is determined to be the 
"more likely to maintain it".
   
   This is succintly described in our CONTRIBUTING.rst:
   
   
   > * It is often debatable where to put transfer operators but we agreed to 
the following criteria:
   >    * We use "maintainability" of the operators as the main criteria - so 
the transfer operator
       should be kept at the provider which has highest "interest" in the 
transfer operator
   >    * For Cloud Providers or Service providers that usually means that the 
transfer operators
       should land at the "target" side of the transfer
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to