Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ ΠΌΠ΅ΡΡΠΈΠΊ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π΄Π°Π½Π½ΡΡ , ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠΊΠΎΡΠΈΠ½Π³Π°.
Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΠΈΡΠΎΠ½ΠΎΠ²ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠ°ΠΊ ΠΈ Π² Π²ΠΈΠ΄Π΅ bash-ΡΡΠΈΠ»ΠΈΡΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
pip install tele2-metrics --index-url <url> --trusted-host <url>
ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² environment.yml.
ΠΠΈΠ±ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΡΠ°ΠΌ environment.yml
ΠΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ keytab ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ TERADATA_USER ΠΈ TERADATA_PASSWORD.
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΠ»ΠΈΡΡ Π»Π΅ΠΆΠΈΡ Π² tests/test_run.sh
ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ
ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΡΠΈΠ»ΠΈΡΡ, Π²ΡΠ·ΡΠ²Π°ΠΉΡΠ΅ ./tele2_metrics_tool.py --help
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π² ΠΊΠΎΠ΄Π΅ Π½Π° Python Π½Π°ΠΏΠΈΡΠ°Π½ Π² tests/test_metrics.py
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΠΎΠ³Π°ΡΠΈΡΡ
settings (dynaconf) Π½ΡΠΆΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, Π² ΡΠΎΡΠΌΠ°ΡΠ΅ settings.METRICS_STAGE_DB = 'teradata'. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ settings.toml Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ dynaconf Π² ΠΏΡΠΎΠ΅ΠΊΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ (ΠΏΡΠΈΠΌΠ΅Ρ Π»Π΅ΠΆΠΈΡ Π² config/settings.toml), Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΡΠΌΠΎ Π² ΠΊΠΎΠ΄Π΅.
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ:
compare_new_df_with_retro(ΠΌΠ΅ΡΡΠΈΠΊΠ° ΠΏΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠ°Π΄Π΅Π½ΠΈΡ/ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠ° ΡΠΊΠΎΡΠΎΠ²)
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅:- METRICS_MODEL_ID
- METRICS_STAGE_DB
- METRICS_STAGE_TABLE
- METRICS_FINAL_DB
- METRICS_RETRO_TYPE
- METRICS_FINAL_TABLE
- METRICS_THRESHOLD
- METRICS_RETRO_DATE
- METRICS_REPORT_DATE
- METRICS_SEND_TO - ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ
check_if_data_in_table(ΠΌΠ΅ΡΡΠΈΠΊΠ° ΠΏΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΡ)
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅:- METRICS_MODEL_ID
- METRICS_FINAL_DB
- METRICS_FINAL_TABLE
- METRICS_REPORT_DATE
- METRICS_SEND_TO - ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ
check_df_for_duplicates(ΠΌΠ΅ΡΡΠΈΠΊΠ° ΠΏΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ Π΄Π°Π½Π½ΡΡ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄ΡΠ±Π»Π΅ΠΉ)
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅:- METRICS_MODEL_ID
- METRICS_FINAL_DB
- METRICS_FINAL_TABLE
- METRICS_REPORT_DATE
- METRICS_SEND_TO - ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ