เชนเซเชฒเซ, เชนเซเชฌเซเชฐ! เช เชฒเซเชเชฎเชพเช เชนเซเช เชฌเซเช เชกเซเชเชพ เชชเซเชฐเซเชธเซเชธเชฟเชเช เชชเซเชฐเชเซเชฐเชฟเชฏเชพเช เชตเชฟเชเชธเชพเชตเชตเชพ เชฎเชพเชเซเชจเชพ เชเช เชฎเชนเชพเชจ เชธเชพเชงเชจ เชตเชฟเชถเซ เชตเชพเชค เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซเช, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเซเชฐเซเชชเซเชฐเซเช DWH เช เชฅเชตเชพ เชคเชฎเชพเชฐเชพ เชกเซเชเชพเชฒเซเชเชจเชพ เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐเชฎเชพเช. เช เชฎเซ เช เชชเชพเชเซ เชเชฐเชซเซเชฒเซ (เชคเซเชฏเชพเชฐเชฌเชพเชฆ เชเชฐเชซเซเชฒเซ เชคเชฐเซเชเซ เชเชณเชเชพเชฏ เชเซ) เชตเชฟเชถเซ เชตเชพเชค เชเชฐเซเชถเซเช. เชคเซ Habrรฉ เชชเชฐ เชงเซเชฏเชพเชจเชฅเซ เช เชฏเซเชเซเชฏ เชฐเซเชคเซ เชตเชเชเชฟเชค เชเซ, เช เชจเซ เชฎเซเชเซเชฏ เชญเชพเชเชฎเชพเช เชนเซเช เชคเชฎเชจเซ เชเชพเชคเชฐเซ เชเชชเชตเชพเชจเซ เชชเซเชฐเชฏเชคเซเชจ เชเชฐเซเชถ เชเซ เชคเชฎเชพเชฐเซ ETL/ELT เชชเซเชฐเชเซเชฐเชฟเชฏเชพเช เชฎเชพเชเซ เชถเซเชกเซเชฏเซเชฒเชฐ เชชเชธเชเชฆ เชเชฐเชคเซ เชตเชเชคเซ เชเชเชพเชฎเชพเช เชเชเซเช เชเชฐเชซเซเชฒเซ เชเซเชตเชพ เชฏเซเชเซเชฏ เชเซ.
เช เชเชพเช, เชเซเชฏเชพเชฐเซ เชฎเซเช Tinkoff เชฌเซเชเชเชฎเชพเช เชเชพเชฎ เชเชฐเซเชฏเซเช เชคเซเชฏเชพเชฐเซ เชฎเซเช DWH เชตเชฟเชทเชฏ เชชเชฐ เชถเซเชฐเซเชฃเซเชฌเชฆเซเชง เชฒเซเชเซ เชฒเชเซเชฏเชพ เชนเชคเชพ. เชนเชตเซ เชนเซเช Mail.Ru เชเซเชฐเซเชช เชเซเชฎเชจเซ เชญเชพเช เชฌเชจเซ เชเชฏเซ เชเซเช เช เชจเซ เชเซเชฎเชฟเชเช เชเซเชทเซเชคเซเชฐเชฎเชพเช เชกเซเชเชพ เชตเชฟเชถเซเชฒเซเชทเชฃ เชฎเชพเชเซ เชเช เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชตเชฟเชเชธเชพเชตเซ เชฐเชนเซเชฏเซ เชเซเช. เชตเชพเชธเซเชคเชตเชฎเชพเช, เชเซเชฎ เชเซเชฎ เชธเชฎเชพเชเชพเชฐ เช เชจเซ เชฐเชธเชชเซเชฐเชฆ เชเชเซเชฒเซ เชฆเซเชเชพเชฏ เชเซ, เชคเซเชฎ เชคเซเชฎ เชฎเชพเชฐเซ เชเซเชฎ เช เชจเซ เชนเซเช เชกเซเชเชพ เชเชจเชพเชฒเชฟเชเชฟเชเซเชธ เชฎเชพเชเซเชจเชพ เช เชฎเชพเชฐเชพ เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชตเชฟเชถเซ เช เชนเซเช เชตเชพเชค เชเชฐเซเชถเซเช.
เชชเซเชฐเชธเซเชคเชพเชตเชจเชพ
เชคเซ, เชเชพเชฒเซ เชถเชฐเซ เชเชฐเซเช. เชเชฐเชซเซเชฒเซ เชถเซเช เชเซ? เช เชเช เชชเซเชธเซเชคเชเชพเชฒเชฏ เชเซ (เช
เชฅเชตเชพ
เชนเชตเซ เชเชพเชฒเซ เชเชฐเชซเซเชฒเซเชจเซ เชฎเซเชเซเชฏ เชธเชเชธเซเชฅเชพเช เชเซเชเช. เชคเซเชฎเชจเชพ เชธเชพเชฐ เช เชจเซ เชนเซเชคเซเชจเซ เชธเชฎเชเซเชจเซ, เชคเชฎเซ เชคเชฎเชพเชฐเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเซเชเชฟเชเซเชเซเชเชฐเชจเซ เชถเซเชฐเซเชทเซเช เชฐเซเชคเซ เชเซเช เชตเซ เชถเชเซ เชเซ. เชเชฆเชพเช เชฎเซเชเซเชฏ เชเชจเซเชเชฟเชเซ เชกเชพเชฏเชฐเซเชเซเชเซเชก เชเชธเชพเชฏเชเซเชฒเชฟเช เชเซเชฐเชพเชซ เชเซ (เชคเซเชฏเชพเชฐเชฌเชพเชฆ DAG เชคเชฐเซเชเซ เชเชณเชเชพเชฏ เชเซ).
เชกเซ เช
DAG เช เชคเชฎเชพเชฐเชพ เชเชพเชฐเซเชฏเซเชจเซเช เช เชฎเซเช เช เชฐเซเชฅเชชเซเชฐเซเชฃ เชเซเชกเชพเชฃ เชเซ เชเซเชจเซ เชคเชฎเซ เชเซเชเซเชเชธ เชถเซเชกเซเชฏเซเชฒ เช เชจเซเชธเชพเชฐ เชธเชเชค เชฐเซเชคเซ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเซเชฐเชฎเชฎเชพเช เชชเซเชฐเซเชฃ เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซ. เชเชฐเชซเซเชฒเซ DAGs เช เชจเซ เช เชจเซเชฏ เชธเชเชธเซเชฅเชพเช เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เช เชจเซเชเซเชณ เชตเซเชฌ เชเชจเซเชเชฐเชซเซเชธ เชชเซเชฐเชฆเชพเชจ เชเชฐเซ เชเซ:
DAG เชเชจเชพ เชเซเชตเซเช เชฆเซเชเชพเช เชถเชเซ เชเซ:
เชกเซเชตเชฒเชชเชฐ, เชเซเชฏเชพเชฐเซ เชกเซเชเชเซ เชกเชฟเชเชพเชเชจ เชเชฐเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชเชชเชฐเซเชเชฐเซเชธเชจเซ เชเช เชธเซเช เชฎเซเชเซ เชเซ เชเซเชจเชพ เชชเชฐ เชกเซเชเชเซเชจเซ เช เชเชฆเชฐเชจเชพ เชเชพเชฐเซเชฏเซ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ. เช เชนเซเช เชเชชเชฃเซ เชฌเซเชเซ เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชธเชเชธเซเชฅเชพ เชชเชฐ เชเชตเซเช เชเซเช: เชเชฐเชซเซเชฒเซ เชเชชเชฐเซเชเชฐ.
เชเชชเชฐเซเชเชฐเซ
เชเชชเชฐเซเชเชฐ เช เชเช เชเชจเซเชเชฟเชเซ เชเซ เชเซเชจเชพ เชเชงเชพเชฐเซ เชเซเชฌเชจเชพ เชฆเชพเชเชฒเชพ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเซ เชตเชฐเซเชฃเชตเซ เชเซ เชเซ เชจเซเชเชฐเซเชจเชพ เชฆเชพเชเชฒเชพเชจเชพ เช
เชฎเชฒ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชถเซเช เชฅเชถเซ.
- BashOperator - bash เชเชฆเซเชถ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ เชเชชเชฐเซเชเชฐ.
- PythonOperator - Python เชเซเชก เชเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชชเชฐเซเชเชฐ.
- เชเชฎเซเชฒ เชเชชเชฐเซเชเชฐ โ เชเชฎเซเชฒ เชฎเซเชเชฒเชตเชพ เชฎเชพเชเซ เชเชชเชฐเซเชเชฐ.
- HTTPOperator - HTTP เชตเชฟเชจเชเชคเซเช เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชชเชฐเซเชเชฐ.
- SqlOperator - SQL เชเซเชก เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ เชเชชเชฐเซเชเชฐ.
- เชธเซเชจเซเชธเชฐ เช เชเชตเซเชจเซเชเชจเซ เชฐเชพเชน เชเซเชตเชพ เชฎเชพเชเซ เชเชชเชฐเซเชเชฐ เชเซ (เชเชฐเซเชฐเซ เชธเชฎเชฏเชจเซเช เชเชเชฎเชจ, เชเชฐเซเชฐเซ เชซเชพเชเชฒเชจเซ เชฆเซเชเชพเชต, เชกเซเชเชพเชฌเซเชเชฎเชพเช เชเช เชฒเชพเชเชจ, API เชคเชฐเชซเชฅเซ เชชเซเชฐเชคเชฟเชธเชพเชฆ, เชตเชเซเชฐเซ. เชตเชเซเชฐเซ).
เชคเซเชฏเชพเช เชตเชงเซ เชเซเชเซเชเชธ เชเชชเชฐเซเชเชฐเซ เชเซ: DockerOperator, HiveOperator, S3FileTransferOperator, PrestoToMysqlOperator, SlackOperator.
เชคเชฎเซ เชคเชฎเชพเชฐเซ เชชเซเชคเชพเชจเซ เชฒเชพเชเซเชทเชฃเชฟเชเชคเชพเชเชจเชพ เชเชงเชพเชฐเซ เชเชชเชฐเซเชเชฐเซ เชชเชฃ เชตเชฟเชเชธเชพเชตเซ เชถเชเซ เชเซ เช
เชจเซ เชคเชฎเชพเชฐเชพ เชชเซเชฐเซเชเซเชเซเชเชฎเชพเช เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เช
เชฎเซ MongoDBToHiveViaHdfsTransfer, MongoDB เชฅเซ Hive เชฎเชพเช เชฆเชธเซเชคเชพเชตเซเชเซ เชจเชฟเชเชพเชธ เชเชฐเชตเชพ เชฎเชพเชเซ เชเช เชเชชเชฐเซเชเชฐ เช
เชจเซ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฃเชพ เชเชชเชฐเซเชเชฐเซ เชฌเชจเชพเชตเซเชฏเชพเช เชเซ.
เชเชเชณ, เชเชพเชฐเซเชฏเซเชจเชพ เช เชคเชฎเชพเชฎ เชเชฆเชพเชนเชฐเชฃเซเชจเซ เชเชเซเชเชฟเชเซเชฏเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เช เชจเซ เชนเชตเซ เชเชชเชฃเซ เชถเซเชกเซเชฏเซเชฒเชฐ เชตเชฟเชถเซ เชตเชพเชค เชเชฐเซเชถเซเช.
เชถเซเชกเซเชฏเซเชฒเชฐ
เชเชฐเชซเซเชฒเซเชจเซเช เชเชพเชฐเซเชฏ เชถเซเชกเซเชฏเซเชฒเชฐ เชฌเชฟเชฒเซเช เชเชจ เชเซ
เชฆเชฐเซเช เชชเซเชฒเชฎเชพเช เชธเซเชฒเซเชเชจเซ เชธเชเชเซเชฏเชพเชจเซ เชฎเชฐเซเชฏเชพเชฆเชพ เชนเซเชฏ เชเซ. DAG เชฌเชจเชพเชตเชคเซ เชตเชเชคเซ, เชคเซเชจเซ เชชเซเชฒ เชเชชเชตเชพเชฎเชพเช เชเชตเซ เชเซ:
ALERT_MAILS = Variable.get("gv_mail_admin_dwh")
DAG_NAME = 'dma_load'
OWNER = 'Vasya Pupkin'
DEPENDS_ON_PAST = True
EMAIL_ON_FAILURE = True
EMAIL_ON_RETRY = True
RETRIES = int(Variable.get('gv_dag_retries'))
POOL = 'dma_pool'
PRIORITY_WEIGHT = 10
start_dt = datetime.today() - timedelta(1)
start_dt = datetime(start_dt.year, start_dt.month, start_dt.day)
default_args = {
'owner': OWNER,
'depends_on_past': DEPENDS_ON_PAST,
'start_date': start_dt,
'email': ALERT_MAILS,
'email_on_failure': EMAIL_ON_FAILURE,
'email_on_retry': EMAIL_ON_RETRY,
'retries': RETRIES,
'pool': POOL,
'priority_weight': PRIORITY_WEIGHT
}
dag = DAG(DAG_NAME, default_args=default_args)
dag.doc_md = __doc__
DAG เชธเซเชคเชฐเซ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชฅเชฏเซเชฒ เชชเซเชฒเชจเซ เชเชพเชฐเซเชฏ เชธเซเชคเชฐเซ เชเชตเชฐเชฐเชพเชเชก เชเชฐเซ เชถเชเชพเชฏ เชเซ.
เชเช เช
เชฒเช เชชเซเชฐเชเซเชฐเชฟเชฏเชพ, เชถเซเชกเซเชฏเซเชฒเชฐ, เชเชฐเชซเซเชฒเซเชฎเชพเช เชคเชฎเชพเชฎ เชเชพเชฐเซเชฏเซเชจเซ เชธเซเชจเชฟเชถเซเชเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชเชตเชพเชฌเชฆเชพเชฐ เชเซ. เชตเชพเชธเซเชคเชตเชฎเชพเช, เชถเซเชกเซเชฏเซเชฒเชฐ เชเชเซเชเซเชเซเชฏเซเชถเชจ เชฎเชพเชเซ เชเชพเชฐเซเชฏเซ เชธเซเช เชเชฐเชตเชพเชจเชพ เชคเชฎเชพเชฎ เชฎเชฟเชเซเชจเชฟเชเซเชธ เชธเชพเชฅเซ เชตเซเชฏเชตเชนเชพเชฐ เชเชฐเซ เชเซ. เชเชพเชฐเซเชฏ เช
เชฎเชฒเชฎเชพเช เชฎเซเชเชคเชพ เชชเชนเซเชฒเชพ เชเชฃเชพ เชคเชฌเชเซเชเชพเชเชฎเชพเชเชฅเซ เชชเชธเชพเชฐ เชฅเชพเชฏ เชเซ:
- เช เชเชพเชเชจเชพ เชเชพเชฐเซเชฏเซ DAG เชฎเชพเช เชชเซเชฐเซเชฃ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชเซ; เชเช เชจเชตเซเช เชเชคเชพเชฐเชฌเชฆเซเชง เชเชฐเซ เชถเชเชพเชฏ เชเซ.
- เชเชพเชฐเซเชฏเซเชจเซ เชชเซเชฐเชพเชงเชพเชจเซเชฏเชคเชพเชจเชพ เชเชงเชพเชฐเซ เชเชคเชพเชฐเชจเซ เชธเซเชฐเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ (เช เชเซเชฐเชคเชพเชเชจเซ เชชเชฃ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเซ เชถเชเชพเชฏ เชเซ), เช เชจเซ เชเซ เชชเซเชฒเชฎเชพเช เชฎเชซเชค เชธเซเชฒเซเช เชนเซเชฏ, เชคเซ เชเชพเชฐเซเชฏเชจเซ เชเชชเชฐเซเชถเชจเชฎเชพเช เชฒเช เชถเชเชพเชฏ เชเซ.
- เชเซ เชคเซเชฏเชพเช เชฎเชซเชค เชเชพเชฐเซเชฏเชเชฐ เชธเซเชฒเชฐเซ เชนเซเชฏ, เชคเซ เชเชพเชฐเซเชฏ เชคเซเชจเซ เชฎเซเชเชฒเชตเชพเชฎเชพเช เชเชตเซ เชเซ; เชคเชฎเซ เชธเชฎเชธเซเชฏเชพเชฎเชพเช เชชเซเชฐเซเชเซเชฐเชพเชฎ เชเชฐเซเชฒ เชเชพเชฐเซเชฏ เชเช เช เชฅเชตเชพ เชฌเซเชเชพ เชเชชเชฐเซเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชถเชฐเซ เชฅเชพเชฏ เชเซ.
เชชเชฐเซเชฏเชพเชชเซเชค เชธเชฐเชณ.
เชถเซเชกเซเชฏเซเชฒเชฐ เชคเชฎเชพเชฎ DAGs เช เชจเซ DAG เชจเซ เช เชเชฆเชฐเชจเชพ เชคเชฎเชพเชฎ เชเชพเชฐเซเชฏเซเชจเชพ เชธเซเช เชชเชฐ เชเชพเชฒเซ เชเซ.
เชถเซเชกเซเชฏเซเชฒเชฐ เชฎเชพเชเซ DAG เชธเชพเชฅเซ เชเชพเชฎ เชถเชฐเซ เชเชฐเชตเชพ เชฎเชพเชเซ, DAG เช เชถเซเชกเซเชฏเซเชฒ เชธเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ:
dag = DAG(DAG_NAME, default_args=default_args, schedule_interval='@hourly')
เชคเซเชฏเชพเชฐ เชชเซเชฐเซเชธเซเชเซเชธเชจเซ เชธเชฎเซเชน เชเซ: @once
, @hourly
, @daily
, @weekly
, @monthly
, @yearly
.
เชคเชฎเซ เชเซเชฐเซเชจ เช เชญเชฟเชตเซเชฏเชเซเชคเชฟเชเชจเซ เชชเชฃ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ:
dag = DAG(DAG_NAME, default_args=default_args, schedule_interval='*/10 * * * *')
เช เชฎเชฒเชจเซ เชคเชพเชฐเซเช
เชเชฐเชซเซเชฒเซ เชเซเชตเซ เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ เชคเซ เชธเชฎเชเชตเชพ เชฎเชพเชเซ, DAG เชฎเชพเชเซ เชเชเซเชเซเชเซเชฏเซเชถเชจ เชคเชพเชฐเซเช เชถเซเช เชเซ เชคเซ เชธเชฎเชเชตเซเช เช เชเชคเซเชฏเชจเซเช เชเซ. เชเชฐเชซเซเชฒเซเชฎเชพเช, DAG เชชเชพเชธเซ เชเชเซเชเซเชเซเชฏเซเชถเชจ เชกเซเชเชจเซเช เชชเชฐเชฟเชฎเชพเชฃ เชเซ, เชเชเชฒเซ เชเซ, DAGเชจเชพ เชเชพเชฐเซเชฏ เชถเซเชกเซเชฏเซเชฒเชจเชพ เชเชงเชพเชฐเซ, เชฆเชฐเซเช เชเชเซเชเซเชเซเชฏเซเชถเชจ เชคเชพเชฐเซเช เชฎเชพเชเซ เชเชพเชธเซเช เชเชจเซเชธเซเชเชจเซเชธ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เช เชจเซ เชฆเชฐเซเช เชเชเซเชเซเชเซเชฏเซเชถเชจ เชคเชพเชฐเซเช เชฎเชพเชเซ, เชเชพเชฐเซเชฏเซเชจเซ เชซเชฐเซเชฅเซ เชเชเซเชเชฟเชเซเชฏเซเช เชเชฐเซ เชถเชเชพเชฏ เชเซ - เช เชฅเชตเชพ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, DAG เชเช เชธเชพเชฅเซ เช เชจเซเช เชเชเซเชเซเชเซเชฏเซเชถเชจ เชคเชพเชฐเซเชเซเชฎเชพเช เชเชพเชฎ เชเชฐเซ เชถเชเซ เชเซ. เช เช เชนเซเช เชธเซเชชเชทเซเช เชฐเซเชคเซ เชฌเชคเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ:
เชเชฎเชจเชธเซเชฌเซ (เช เชฅเชตเชพ เชเชฆเชพเช เชธเชฆเชญเชพเชเซเชฏเซ: โโเชคเซ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เชชเชฐ เชเชงเชพเชฐ เชฐเชพเชเซ เชเซ), เชเซ DAG เชฎเชพเช เชเชพเชฐเซเชฏเชจเชพ เช เชฎเชฒเซเชเชฐเชฃเชฎเชพเช เชธเซเชงเชพเชฐเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ, เชคเซ เช เชเชพเชเชจเซ เชเชเซเชเซเชเซเชฏเซเชถเชจ เชคเชพเชฐเซเชเชฎเชพเช เช เชฎเชฒเซเชเชฐเชฃ เชเซเช เชตเชฃเซเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเชเชจเซ เชเชเชณ เชตเชงเชถเซ. เชเซ เชคเชฎเชพเชฐเซ เชจเชตเชพ เช เชฒเซเชเซเชฐเชฟเชงเชฎเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชชเชพเชเชฒเชพ เชธเชฎเชฏเชเชพเชณเชพเชฎเชพเช เชกเซเชเชพเชจเซ เชชเซเชจเชเชเชฃเชคเชฐเซ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชนเซเชฏ เชคเซ เช เชธเชพเชฐเซเช เชเซ, เชชเชฐเชเชคเซ เชคเซ เชเชฐเชพเชฌ เชเซ เชเชพเชฐเชฃ เชเซ เชชเชฐเชฟเชฃเชพเชฎเชจเซ เชชเซเชจเชเชเชคเซเชชเชพเชฆเชจเชเซเชทเชฎเชคเชพ เชเซเชตเชพเช เชเช เชเซ (เช เชฒเชฌเชคเซเชค, เชเซเช เชคเชฎเชจเซ เชเชฟเชเชฎเชพเชเชฅเซ เชธเซเชฐเซเชค เชเซเชกเชจเซเช เชเชตเชถเซเชฏเช เชธเชเชธเซเชเชฐเชฃ เชชเชฐเชค เชเชฐเชตเชพ เช เชจเซ เชคเซเชจเซ เชเชฃเชคเชฐเซ เชเชฐเชตเชพ เชฎเชพเชเซ เชชเชฐเซเชถเชพเชจ เชเชฐเชคเซเช เชจเชฅเซ. เชคเชฎเชพเชฐเซ เชเช เชธเชฎเชฏเชจเซ เชเชฐเซเชฐ เชเซ, เชเซ เชฐเซเชคเซ เชคเชฎเชจเซ เชคเซเชจเซ เชเชฐเซเชฐ เชเซ).
เชเชพเชฐเซเชฏเซ เชชเซเชฆเชพ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
DAG เชจเซเช เช เชฎเชฒเซเชเชฐเชฃ เชชเชพเชฏเชฅเซเชจเชฎเชพเช เชเซเชก เชเซ, เชคเซเชฅเซ เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชเชพเชฎ เชเชฐเชคเซ เชตเชเชคเซ เชเซเชกเชจเซ เชฎเชพเชคเซเชฐเชพ เชเชเชพเชกเชตเชพเชจเซ เชเซเชฌ เช เช เชจเซเชเซเชณ เชฐเซเชค เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชถเชพเชฐเซเชก เชธเซเชฐเซเชธ เชธเชพเชฅเซ. เชเชพเชฒเซ เชเชนเซเช เชเซ เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชธเซเชคเซเชฐเซเชค เชคเชฐเซเชเซ เชคเซเชฐเชฃ MySQL เชถเชพเชฐเซเชกเซเชธ เชเซ, เชคเชฎเชพเชฐเซ เชฆเชฐเซเชเชฎเชพเช เชเชขเซ เชเชตเชพเชจเซ เช เชจเซ เช เชฎเซเช เชกเซเชเชพ เชฒเซเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชคเชฆเซเชชเชฐเชพเชเชค, เชธเซเชตเชคเชเชคเซเชฐ เชฐเซเชคเซ เช เชจเซ เชธเชฎเชพเชเชคเชฐ. DAG เชฎเชพเช Python เชเซเชก เชเชจเชพ เชเซเชตเซ เชฆเซเชเชพเช เชถเชเซ เชเซ:
connection_list = lv.get('connection_list')
export_profiles_sql = '''
SELECT
id,
user_id,
nickname,
gender,
{{params.shard_id}} as shard_id
FROM profiles
'''
for conn_id in connection_list:
export_profiles = SqlToHiveViaHdfsTransfer(
task_id='export_profiles_from_' + conn_id,
sql=export_profiles_sql,
hive_table='stg.profiles',
overwrite=False,
tmpdir='/data/tmp',
conn_id=conn_id,
params={'shard_id': conn_id[-1:], },
compress=None,
dag=dag
)
export_profiles.set_upstream(exec_truncate_stg)
export_profiles.set_downstream(load_profiles)
DAG เชเชจเชพ เชเซเชตเซ เชฆเซเชเชพเชฏ เชเซ:
เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชคเชฎเซ เชซเชเซเชค เชธเซเชเชฟเชเชเซเชธเชจเซ เชธเชฎเชพเชฏเซเชเชฟเชค เชเชฐเซเชจเซ เช เชจเซ DAG เชจเซ เช เชชเชกเซเช เชเชฐเซเชจเซ เชถเชพเชฐเซเชก เชเชฎเซเชฐเซ เช เชฅเชตเชพ เชฆเซเชฐ เชเชฐเซ เชถเชเซ เชเซ. เชเชฐเชพเชฎเชฆเชพเชฏเช!
เชคเชฎเซ เชตเชงเซ เชเชเชฟเชฒ เชเซเชก เชเชจเชฐเซเชถเชจเชจเซ เชชเชฃ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชกเซเชเชพเชฌเซเชเชจเชพ เชฐเซเชชเชฎเชพเช เชธเซเชคเซเชฐเซเชคเซ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซ เช เชฅเชตเชพ เชเซเชฌเชฒ เชธเซเชเซเชฐเชเซเชเชฐเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเซ, เชเซเชฌเชฒ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซเชจเซเช เช เชฒเซเชเซเชฐเชฟเชงเชฎ, เช เชจเซ DWH เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐเชจเซ เชตเชฟเชถเซเชทเชคเชพเชเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเชเชจเซ, เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชจเชฐเซเช เชเชฐเซ. เชคเชฎเชพเชฐเชพ เชธเซเชเซเชฐเซเชเชฎเชพเช N เชเซเชทเซเชเชเซ เชฒเซเชก เชเชฐเชตเชพ เชฎเชพเชเซ. เช เชฅเชตเชพ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเชตเชพ API เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเซเช เชเซ เชธเซเชเชฟเชจเชพ เชธเซเชตเชฐเซเชชเชฎเชพเช เชชเซเชฐเชพเชฎเซเชเชฐ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพเชจเซเช เชธเชฎเชฐเซเชฅเชจ เชเชฐเชคเซเช เชจเชฅเซ, เชคเชฎเซ เช เชธเซเชเชฟเชฎเชพเชเชฅเซ DAG เชฎเชพเช N เชเชพเชฐเซเชฏเซ เชเชจเชฐเซเช เชเชฐเซ เชถเชเซ เชเซ, API เชฎเชพเช เชตเชฟเชจเชเชคเซเชเชจเซ เชธเชฎเชพเชจเชคเชพเชจเซ เชชเซเชฒ เชธเซเชงเซ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชเชฐเซ เชถเชเซ เชเซ เช เชจเซ เชธเซเชเซเชฐเซเชช เชเชฐเซ เชถเชเซ เชเซ. API เชฎเชพเชเชฅเซ เชเชฐเซเชฐเซ เชกเซเชเชพ. เชฒเชตเชเซเช!
เชญเชเชกเชพเชฐ
เชเชฐเชซเซเชฒเซ เชชเชพเชธเซ เชคเซเชจเซ เชชเซเชคเชพเชจเซ เชฌเซเชเชเชจเซเชก เชฐเซเชชเซเชเซเชเชฐเซ เชเซ, เชเช เชกเซเชเชพเชฌเซเช (MySQL เช เชฅเชตเชพ Postgres เชนเซเช เชถเชเซ เชเซ, เช เชฎเชพเชฐเซ เชชเชพเชธเซ Postgres เชเซ), เชเซ เชเชพเชฐเซเชฏเซเชจเซ เชธเซเชฅเชฟเชคเชฟ, DAGs, เชเชจเซเชเซเชถเชจ เชธเซเชเชฟเชเชเซเชธ, เชตเซเชถเซเชตเชฟเช เชเชฒ, เชตเชเซเชฐเซ เชตเชเซเชฐเซเชจเซ เชธเชเชเซเชฐเชน เชเชฐเซ เชเซ. เช เชนเซเช เชนเซเช เชเชเซเชเซเช เชเซเช เชเซ เชนเซเช เชเชนเซ เชถเชเซเช เชเซ เชเชฐเชซเซเชฒเซเชฎเชพเช เชฐเซเชชเซเชเซเชเชฐเซ เชเซเชฌ เช เชธเชฐเชณ เชเซ (เชฒเชเชญเช 20 เชเซเชทเซเชเชเซ) เช เชจเซ เชเซ เชคเชฎเซ เชคเซเชจเซ เชเชชเชฐ เชคเชฎเชพเชฐเซ เชชเซเชคเชพเชจเซ เชเซเชเชชเชฃ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเชเชคเชพ เชนเซเชต เชคเซ เชคเซ เช เชจเซเชเซเชณ เชเซ. เชฎเชจเซ เชเชจเซเชซเซเชฐเซเชฎเซเชเชฟเชเชพ เชฐเชฟเชชเซเชเซเชเชฐเซเชฎเชพเช 100500 เชเซเชทเซเชเชเซ เชฏเชพเชฆ เชเซ, เชเซเชจเซ เชเซเชตเซเชฐเซ เชเซเชตเซ เชฐเซเชคเซ เชฌเชจเชพเชตเชตเซ เชคเซ เชธเชฎเชเชตเชพ เชชเชนเซเชฒเชพเช เชฒเชพเชเชฌเชพ เชธเชฎเชฏ เชธเซเชงเซ เช เชญเซเชฏเชพเชธ เชเชฐเชตเซ เชชเชกเซเชฏเซ เชนเชคเซ.
เชฎเซเชจเซเชเชฐเซเชเช
เชฐเซเชชเซเชเซเชเชฐเซเชจเซ เชธเชฐเชณเชคเชพเชจเซ เชเซเชคเชพเช, เชคเชฎเซ เชคเชฎเชพเชฐเชพ เชฎเชพเชเซ เช เชจเซเชเซเชณ เชเชพเชฐเซเชฏ เชฎเซเชจเซเชเชฐเซเชเช เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฌเชจเชพเชตเซ เชถเชเซ เชเซ. เช เชฎเซ เชเซเชชเซเชชเซเชฒเซเชจเชฎเชพเช เชจเซเชเชชเซเชกเชจเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช, เชเซเชฏเชพเช เชเชชเชฃเซ เชเชพเชฐเซเชฏเซเชจเซ เชธเซเชฅเชฟเชคเชฟ เชเซเชเช เชเซเช:
เช เชเชฐเชซเซเชฒเซเชจเซเช เชตเซเชฌ เชเชจเซเชเชฐเชซเซเชธ เชชเชฃ เชนเซเช เชถเชเซ เชเซ:
เชเชฐเชซเซเชฒเซ เชเซเชก เชเชชเชจ เชธเซเชฐเซเชธ เชเซ, เชคเซเชฅเซ เช เชฎเซ เชเซเชฒเชฟเชเซเชฐเชพเชฎเชฎเชพเช เชเซเชคเชตเชฃเซ เชเชฎเซเชฐเซ เชเซ. เชเชพเชฐเซเชฏเชจเซ เชฆเชฐเซเช เชเชพเชฒเซ เชฐเชนเซเชฒ เชเชเชจเชพ, เชเซ เชเซเช เชญเซเชฒ เชฅเชพเชฏ, เชคเซ เชเซเชฒเชฟเชเซเชฐเชพเชฎเชฎเชพเช เชเซเชฅเชจเซ เชธเซเชชเชพเชฎ เชเชฐเซ เชเซ, เชเซเชฏเชพเช เชธเชฎเชเซเชฐ เชตเชฟเชเชพเชธ เช เชจเซ เชธเชนเชพเชฏเช เชเซเชฎเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ.
เช เชฎเซ เชเซเชฒเชฟเชเซเชฐเชพเชฎ (เชเซ เชเชฐเซเชฐเซ เชนเซเชฏ เชคเซ) เชฆเซเชตเชพเชฐเชพ เชคเชพเชคเซเชเชพเชฒเชฟเช เชชเซเชฐเชคเชฟเชธเชพเชฆ เชชเซเชฐเชพเชชเซเชค เชเชฐเซเช เชเซเช, เช เชจเซ เชเซเชชเซเชชเซเชฒเซเชจ เชฆเซเชตเชพเชฐเชพ เช เชฎเชจเซ เชเชฐเชซเซเชฒเซเชฎเชพเช เชเชพเชฐเซเชฏเซเชจเซเช เชเชเชเชฆเชฐ เชเชฟเชคเซเชฐ เชชเซเชฐเชพเชชเซเชค เชฅเชพเชฏ เชเซ.
เชเซเชฒ
เชเชฐเชซเซเชฒเซ เชฎเซเชเซเชฏเชคเซเชตเซ เชเชชเชจ เชธเซเชฐเซเชธ เชเซ เช เชจเซ เชคเชฎเชพเชฐเซ เชคเซเชจเชพเชฅเซ เชเชฎเชคเซเชเชพเชฐเซเชจเซ เช เชชเซเชเซเชทเชพ เชจ เชฐเชพเชเชตเซ เชเซเชเช. เชเชพเชฎ เชเชฐเซ เชเซ เชคเซ เชเชเซเชฒ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชธเชฎเชฏ เช เชจเซ เชชเซเชฐเชฏเชคเซเชจเซ เชเชฐเชตเชพ เชคเซเชฏเชพเชฐ เชฐเชนเซ. เชงเซเชฏเซเชฏ เชชเซเชฐเชพเชชเซเชค เชเชฐเซ เชถเชเชพเชฏ เชคเซเชตเซเช เชเซ, เชฎเชพเชฐเชพ เชชเชฐ เชตเชฟเชถเซเชตเชพเชธ เชเชฐเซ, เชคเซ เชฎเซเชฒเซเชฏเชตเชพเชจ เชเซ. เชตเชฟเชเชพเชธเชจเซ เชเชคเชฟ, เชฒเชตเชเซเชเชคเชพ, เชจเชตเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเช เชเชฎเซเชฐเชตเชพเชจเซ เชธเชฐเชณเชคเชพ - เชคเชฎเชจเซ เชคเซ เชเชฎเชถเซ. เช เชฒเชฌเชคเซเชค, เชคเชฎเชพเชฐเซ เชชเซเชฐเซเชเซเชเซเชเชจเชพ เชธเชเชเช เชจ, เชเชฐเชซเซเชฒเซเชจเซ เชธเซเชฅเชฟเชฐเชคเชพ เชชเชฐ เชเชฃเซเช เชงเซเชฏเชพเชจ เชเชชเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ: เชเชฎเชคเซเชเชพเชฐเซ เชฅเชคเชพ เชจเชฅเซ.
เชนเชตเซ เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชเชฐเชซเซเชฒเซ เชฆเชฐเชฐเซเช เชเชพเชฐเซเชฏเชฐเชค เชเซ เชฒเชเชญเช 6,5 เชนเชเชพเชฐ เชเชพเชฐเซเชฏเซ. เชคเซเช เชชเชพเชคเซเชฐเชฎเชพเช เชคเชฆเซเชฆเชจ เช เชฒเช เชเซ. เชฎเซเชเซเชฏ DWH เชฎเชพเช เชเชฃเชพเช เชตเชฟเชตเชฟเชง เช เชจเซ เชเซเชฌ เช เชเซเชเซเชเชธ เชธเซเชคเซเชฐเซเชคเซเชฎเชพเชเชฅเซ เชกเซเชเชพ เชฒเซเชก เชเชฐเชตเชพเชจเชพ เชเชพเชฐเซเชฏเซ เชเซ, เชฎเซเชเซเชฏ DWH เชจเซ เช เชเชฆเชฐ เชธเซเชเซเชฐเชซเซเชฐเชจเซเชเซเชธเชจเซ เชเชฃเชคเชฐเซ เชเชฐเชตเชพเชจเชพ เชเชพเชฐเซเชฏเซ เชเซ, เชเชกเชชเซ DWH เชฎเชพเช เชกเซเชเชพ เชชเซเชฐเชเชพเชถเชฟเชค เชเชฐเชตเชพเชจเชพ เชเชพเชฐเซเชฏเซ เชเซ, เชคเซเชฏเชพเช เชเชฃเชพ เชฌเชงเชพ เชตเชฟเชตเชฟเชง เชเชพเชฐเซเชฏเซ เชเซ - เช เชจเซ เชเชฐเชซเซเชฒเซ เชฆเชฟเชตเชธ เชชเชเซ เชคเซ เชฌเชงเชพเชจเซ เชเชพเชตเซ เชเซ. เชธเชเชเซเชฏเชพเชฎเชพเช เชฌเซเชฒเชคเชพ, เช เชเซ 2,3 เชนเชเชพเชฐ DWH (Hadoop) เชจเซ เช เชเชฆเชฐ เชตเชฟเชตเชฟเชง เชเชเชฟเชฒเชคเชพเชจเชพ ELT เชเชพเชฐเซเชฏเซ, เชเชถเชฐเซ. 2,5 เชธเซ เชกเซเชเชพเชฌเซเช เชธเซเชคเซเชฐเซเชคเซ, เช เชเช เชเซเชฎ เชเซ 4 ETL เชตเชฟเชเชพเชธเชเชฐเซเชคเชพเช, เชเซ DWH เชฎเชพเช ETL เชกเซเชเชพ เชชเซเชฐเซเชธเซเชธเชฟเชเช เช เชจเซ DWH เชจเซ เช เชเชฆเชฐ ELT เชกเซเชเชพ เชชเซเชฐเซเชธเซเชธเชฟเชเชเชฎเชพเช เชตเชฟเชญเชพเชเชฟเชค เชเซ เช เชจเซ เช เชฒเชฌเชคเซเชค เชตเชงเซ เชเช เชเชกเชฎเชฟเชจ, เชเซ เชธเซเชตเชพเชจเชพ เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐ เชธเชพเชฅเซ เชตเซเชฏเชตเชนเชพเชฐ เชเชฐเซ เชเซ.
เชญเชตเชฟเชทเซเชฏเชจเซ เชฏเซเชเชจเชพเช
เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชเชจเซ เชธเชเชเซเชฏเชพ เช เชจเชฟเชตเชพเชฐเซเชฏเชชเชฃเซ เชตเชงเซ เชฐเชนเซ เชเซ, เช เชจเซ เชเชฐเชซเซเชฒเซ เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐเชจเซ เชฆเซเชฐเชทเซเชเชฟเช เชเชชเชฃเซ เชเซ เชฎเซเชเซเชฏ เชตเชธเซเชคเซ เชเชฐเซเชถเซเช เชคเซ เชธเซเชเซเชฒเชฟเชเช เชเซ. เช เชฎเซ เชเชฐเชซเซเชฒเซ เชเซเชฒเชธเซเชเชฐ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเชเซเช เชเซเช, เชธเซเชฒเชฐเซ เชเชพเชฎเชฆเชพเชฐเซ เชฎเชพเชเซ เชชเชเชจเซ เชเซเชกเซ เชซเชพเชณเชตเซเช เชเซเช เช เชจเซ เชเซเชฌ เชถเซเชกเซเชฏเซเชฒเชฟเชเช เชชเซเชฐเชเซเชฐเชฟเชฏเชพเช เช เชจเซ เชฐเชฟเชชเซเชเซเชเชฐเซ เชธเชพเชฅเซ เชธเซเชต-เชกเซเชชเซเชฒเชฟเชเซเชเชฟเชเช เชนเซเชก เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเชเซเช เชเซเช.
เชเชชเชธเชเชนเชพเชฐ
เช, เช เชฒเชฌเชคเซเชค, เชนเซเช เชเชฐเชซเซเชฒเซ เชตเชฟเชถเซ เชเชนเซเชตเชพ เชฎเชพเชเชเซ เชเซเช เชคเซ เชฌเชงเซเช เชจเชฅเซ, เชชเชฐเชเชคเซ เชฎเซเช เชฎเซเชเซเชฏ เชฎเซเชฆเซเชฆเชพเชเชจเซ เชชเซเชฐเชเชพเชถเชฟเชค เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเชฏเซ. เชญเซเช เชเชพเชตเชพเชจเซ เชธเชพเชฅเซ เช เชฒเชพเชเซ เชเซ, เชเซเชฐเชพเชฏ เชเชฐเซ เชคเชฎเชจเซ เชเชฎเชถเซ :)
เชธเซเชฐเซเชธ: www.habr.com