Exemplo n.º 1
0
    def test_execute_good_request_to_bq(self, mock_hook):
        destination_table = 'table'
        operator = BigQueryToMySqlOperator(
            task_id=TASK_ID,
            dataset_table='{}.{}'.format(TEST_DATASET, TEST_TABLE_ID),
            mysql_table=destination_table,
            replace=False,
        )

        operator.execute(None)
        mock_hook.return_value \
            .get_conn.return_value \
            .cursor.return_value \
            .get_tabledata \
            .assert_called_once_with(
                dataset_id=TEST_DATASET,
                table_id=TEST_TABLE_ID,
                max_results=1000,
                selected_fields=None,
                start_index=0
            )
Exemplo n.º 2
0
    ,
    start_date=airflow.utils.dates.days_ago(
        2)  #기준일을 지난 기간까지 포함할 경우 이전 날짜로 지정 start_date=datetime(2019,11,13) 
    ,
    catchup=False)

# Cloud SQL 의 DP_TB_PR_CRT_RPRT_INF Table 의 모든 건을 삭제
delete_mart_mysql = CloudSqlQueryOperator(
    task_id="delete_mart_in_mysql",
    gcp_cloudsql_conn_id=connection_name,
    sql="DELETE FROM DKDMPDB.DP_TB_PR_CRT_RPRT_INF",
    retries=1,
    dag=dag)

# BigQuery 의 Report Mart Table 의 모든 건을 CloudSQL 의 Table 로 Load
load_bq_mart_to_mysql = BigQueryToMySqlOperator(
    task_id="load_bqmart_to_mysql",
    dataset_table=reportMartDSTable,
    mysql_table="DP_TB_PR_CRT_RPRT_INF",
    gcp_conn_id="google_cloud_default",
    mysql_conn_id=cloudsql_connection,
    selected_fields=
    "SGM_NO,ITM_ID,PRP_NM,SUB_PRP_NM,POPART_V,OJ_CONS_RT,AM_CONS_RT",
    replace=True,
    batch_size=50000,
    location=loc_ga,
    retries=2,
    dag=dag)

delete_lpimsmart_mysql >> load_bq_lpimsmart_to_mysql