ื›ื™ืฆื“ ืœื—ืคืฉ ื ืชื•ื ื™ื ื‘ืžื”ื™ืจื•ืช ื•ื‘ืงืœื•ืช ืขื ืœื•ื•ื™ืชืŸ

ื›ื™ืฆื“ ืœื—ืคืฉ ื ืชื•ื ื™ื ื‘ืžื”ื™ืจื•ืช ื•ื‘ืงืœื•ืช ืขื ืœื•ื•ื™ืชืŸ
ืžืืžืจ ื–ื” ืžื“ื‘ืจ ืขืœ ื”ื›ืœื™ ื”ืคืฉื•ื˜ ื•ื”ืžื”ื™ืจ ื‘ื™ื•ืชืจ ืœื’ื™ืœื•ื™ ื ืชื•ื ื™ื, ืฉืืช ืขื‘ื•ื“ืชื• ืืชื” ืจื•ืื” ื‘-KDPV. ืžืขื ื™ื™ืŸ, ืœื•ื•ื™ื™ืชืŸ ืชื•ื›ื ืŸ ืœื”ืชืืจื— ื‘ืฉืจืช git ืžืจื•ื—ืง. ืคืจื˜ื™ื ืžืชื—ืช ืœื—ืชื•ืš.

ื›ื™ืฆื“ ื›ืœื™ ื’ื™ืœื•ื™ ื”ื ืชื•ื ื™ื ืฉืœ Airbnb ืฉื™ื ื” ืืช ื—ื™ื™

ื‘ืงืจื™ื™ืจื” ืฉืœื™, ื”ืชืžื–ืœ ืžื–ืœื™ ืœืขื‘ื•ื“ ืขืœ ื›ืžื” ื‘ืขื™ื•ืช ืžื”ื ื•ืช: ืœืžื“ืชื™ ืžืชืžื˜ื™ืงื” ื–ืจื™ืžื” ืชื•ืš ื›ื“ื™ ื”ืชื•ืืจ ืฉืœื™ ื‘-MIT, ืขื‘ื“ืชื™ ืขืœ ืžื•ื“ืœื™ื ืžืฆื˜ื‘ืจื™ื ื•ืขื ืคืจื•ื™ืงื˜ ืงื•ื“ ืคืชื•ื— pylift ื‘-Wayfair, ื•ื”ื˜ืžื™ืข ืžื•ื“ืœื™ื ื—ื“ืฉื™ื ืฉืœ ืžื™ืงื•ื“ ืœื“ืคื™ ื”ื‘ื™ืช ื•ืฉื™ืคื•ืจื™ CUPED ื‘-Airbnb. ืื‘ืœ ื›ืœ ื”ืขื‘ื•ื“ื” ื”ื–ื• ืžืขื•ืœื ืœื ื”ื™ื™ืชื” ื–ื•ื”ืจืช - ืœืžืขืฉื”, ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื‘ื™ืœื™ืชื™ ืืช ืจื•ื‘ ื–ืžื ื™ ื‘ื—ื™ืคื•ืฉ, ืžื—ืงืจ ื•ืื™ืžื•ืช ื ืชื•ื ื™ื. ืœืžืจื•ืช ืฉื–ื” ื”ื™ื” ืžืฆื‘ ืงื‘ื•ืข ื‘ืขื‘ื•ื“ื”, ืœื ืขืœื” ื‘ื“ืขืชื™ ืฉื–ื• ื‘ืขื™ื” ืขื“ ืฉื”ื’ืขืชื™ ืœ-Airbnb ืฉื ื”ื™ื ื ืคืชืจื” ืขื ื›ืœื™ ืœื’ื™ืœื•ื™ ื ืชื•ื ื™ื - ืคื•ืจื˜ืœ ื ืชื•ื ื™ื.

ื”ื™ื›ืŸ ืื•ื›ืœ ืœืžืฆื•ื ืืช {{ื ืชื•ื ื™ื}}? ืคื•ืจื˜ืœ ื ืชื•ื ื™ื.
ืžื” ื”ืžืฉืžืขื•ืช ืฉืœ ื”ื˜ื•ืจ ื”ื–ื”? ืคื•ืจื˜ืœ ื ืชื•ื ื™ื.
ืžื” ืžืฆื‘ื• ืฉืœ {{metric}} ื”ื™ื•ื? ืคื•ืจื˜ืœ ื ืชื•ื ื™ื.
ืžื”ื™ ืชื—ื•ืฉืช ื—ื™ื™ื? IN ืคื•ืจื˜ืœ ื ืชื•ื ื™ื, ื›ื ืจืื”.

ืื•ืงื™ื™, ื”ืฆื’ืช ืืช ื”ืชืžื•ื ื”. ืžืฆื™ืืช ื ืชื•ื ื™ื ื•ื”ื‘ื ื” ืฉืœ ืžืฉืžืขื•ืชื, ื›ื™ืฆื“ ื”ื ื ื•ืฆืจื• ื•ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื”ื, ื›ืœ ื–ื” ืœื•ืงื— ื“ืงื•ืช ืกืคื•ืจื•ืช, ืœื ืฉืขื•ืช. ื™ื›ื•ืœืชื™ ืœื”ืฉืงื™ืข ืืช ื–ืžื ื™ ื‘ื”ืกืงืช ืžืกืงื ื•ืช ืคืฉื•ื˜ื•ืช, ืื• ืืœื’ื•ืจื™ืชืžื™ื ื—ื“ืฉื™ื, (...ืื• ืœืขื ื•ืช ืขืœ ืฉืืœื•ืช ืืงืจืื™ื•ืช ืœื’ื‘ื™ ื”ื ืชื•ื ื™ื), ื‘ืžืงื•ื ืœื—ืคื•ืจ ื‘ื”ืขืจื•ืช, ืœื›ืชื•ื‘ ืฉืื™ืœืชื•ืช SQL ื—ื•ื–ืจื•ืช, ื•ืœื”ื–ื›ื™ืจ ืขืžื™ืชื™ื ื‘-Slack ื›ื“ื™ ืœื ืกื•ืช ื•ืœืฉื—ื–ืจ ื”ืงืฉืจ. ืฉืžื™ืฉื”ื• ืื—ืจ ื›ื‘ืจ ื”ื™ื”.

ืžื” ื”ื‘ืขื™ื”?

ื”ื‘ื ืชื™ ืฉืœืจื•ื‘ ื”ื—ื‘ืจื™ื ืฉืœื™ ืื™ืŸ ื’ื™ืฉื” ืœื›ืœื™ ื›ื–ื”. ื—ื‘ืจื•ืช ืžืขื˜ื•ืช ืžื•ื›ื ื•ืช ืœื”ืงื“ื™ืฉ ืžืฉืื‘ื™ื ืื“ื™ืจื™ื ืœื‘ื ื™ื™ื” ื•ืชื—ื–ื•ืงื” ืฉืœ ื›ืœื™ ืคืœื˜ืคื•ืจืžื” ื›ืžื• Dataportal. ื•ืœืžืจื•ืช ืฉื™ืฉ ื›ืžื” ืคืชืจื•ื ื•ืช ืงื•ื“ ืคืชื•ื—, ื”ื ื ื•ื˜ื™ื ืœื”ื™ื•ืช ืžืชื•ื›ื ื ื™ื ื‘ืงื ื” ืžื™ื“ื”, ืžื” ืฉืžืงืฉื” ืขืœ ื”ื’ื“ืจื” ื•ืชื—ื–ื•ืงื” ืœืœื ืžื”ื ื“ืก DevOps ืžืกื•ืจ. ืื– ื”ื—ืœื˜ืชื™ ืœื™ืฆื•ืจ ืžืฉื”ื• ื—ื“ืฉ.

ืœื•ื•ื™ื™ืชืŸ: ื›ืœื™ ืคืฉื•ื˜ ืœื’ื™ืœื•ื™ ื ืชื•ื ื™ื

ื›ื™ืฆื“ ืœื—ืคืฉ ื ืชื•ื ื™ื ื‘ืžื”ื™ืจื•ืช ื•ื‘ืงืœื•ืช ืขื ืœื•ื•ื™ืชืŸ

ื•ื›ืŸ, ื‘ืคืฉื˜ื•ืช ืžื˜ื•ืคืฉืช ืื ื™ ืžืชื›ื•ื•ืŸ ืœืคืฉื•ื˜ ืžื˜ื•ืคืฉ. ืœืœื•ื•ื™ื™ืชืŸ ื™ืฉ ืจืง ืฉื ื™ ืžืจื›ื™ื‘ื™ื:

  1. ืกืคืจื™ื™ืช Python ืฉืื•ืกืคืช ืžื˜ื ื ืชื•ื ื™ื ื•ืžืขืฆื‘ืช ืื•ืชื ื‘-MarkDown.
  2. ืžืžืฉืง ืฉื•ืจืช ื”ืคืงื•ื“ื” Rust ืœื—ื™ืคื•ืฉ ื‘ื ืชื•ื ื™ื ืืœื”.

ืžื‘ื—ื™ื ืช ื”ืชืฉืชื™ืช ื”ืคื ื™ืžื™ืช ืœืชื—ื–ื•ืงื”, ื™ืฉ ืจืง ื”ืจื‘ื” ืงื‘ืฆื™ ื˜ืงืกื˜ ื•ืชื•ื›ื ื™ืช ืฉืžืขื“ื›ื ืช ืืช ื”ื˜ืงืกื˜. ื–ื”ื•, ืื– ืื™ืจื•ื— ื‘ืฉืจืช git ื›ืžื• Github ื”ื•ื ื˜ืจื™ื•ื•ื™ืืœื™. ืื™ืŸ ืฉืคืช ืฉืื™ืœืชื” ื—ื“ืฉื” ืœืœืžื•ื“, ืื™ืŸ ืชืฉืชื™ืช ื ื™ื”ื•ืœ, ืื™ืŸ ื’ื™ื‘ื•ื™ื™ื. ื›ื•ืœื ืžื›ื™ืจื™ื ืืช Git, ื›ืš ืฉื”ืกื ื›ืจื•ืŸ ื•ืฉื™ืชื•ืฃ ื”ืคืขื•ืœื” ื”ื ื‘ื—ื™ื ื. ื‘ื•ืื• ื ืกืชื›ืœ ืžืงืจื•ื‘ ืขืœ ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืœื•ื•ื™ืชืŸ v1.0.

GUI ืžื‘ื•ืกืก Git ืขื ืชื›ื•ื ื•ืช ืžืœืื•ืช

ืœื•ื•ื™ื™ืชืŸ ื ื•ืขื“ ืœืฉื—ื•ืช ื‘ืื•ืงื™ื™ื ื•ืก โ€‹โ€‹ืฉืœ ืฉืจืช git ืžืจื•ื—ืง. ื”ื•ื ืงืœ ืžืื•ื“ ื ื™ืชืŸ ืœื”ื’ื“ืจื”: ื”ื’ื“ืจ ื›ืžื” ื—ื™ื‘ื•ืจื™ื, ื”ืขืชืง ืืช ื”ืกืงืจื™ืคื˜ ืฉืœ Github Actions (ืื• ื›ืชื•ื‘ ืื—ื“ ืขื‘ื•ืจ ืคืœื˜ืคื•ืจืžืช ื”-CI/CD ืฉื‘ื—ืจืช) ื•ื™ื”ื™ื” ืœืš ื›ืœื™ ืื™ื ื˜ืจื ื˜ ืœื’ื™ืœื•ื™ ื ืชื•ื ื™ื ืžื™ื“. ืชื•ื›ืœ ืœื—ืคืฉ, ืœื”ืฆื™ื’, ืœืชืขื“ ื•ืœืฉืชืฃ ืืช ื”ื’ื™ืœื™ื•ื ื•ืช ื”ืืœืงื˜ืจื•ื ื™ื™ื ืฉืœืš ื™ืฉื™ืจื•ืช ื‘-Github.

ื›ื™ืฆื“ ืœื—ืคืฉ ื ืชื•ื ื™ื ื‘ืžื”ื™ืจื•ืช ื•ื‘ืงืœื•ืช ืขื ืœื•ื•ื™ืชืŸ
ื“ื•ื’ืžื” ืœื˜ื‘ืœืช stub ืฉื ื•ืฆืจื” ื‘ืืžืฆืขื•ืช Github Actions. ื”ื“ื’ืžื” ืžืœืื” ืœืขื‘ื•ื“ื” ืจืื” ื‘ืกืขื™ืฃ ื–ื”.

ื—ื™ืคื•ืฉ CLI ืžื”ื™ืจ ื‘ืจืง ืขื‘ื•ืจ ื”ืžืื’ืจ ืฉืœืš

ืœื•ื•ื™ืชืŸ ื—ื™ ื•ื ื•ืฉื ื‘ืฉื•ืจืช ื”ืคืงื•ื“ื”, ื•ืžืกืคืง ื—ื™ืคื•ืฉื™ื ืขื•ืฆืžืชื™ื™ื ืฉืœ ืืœืคื™ื•ืช ืฉื ื™ื•ืช ืขืœ ืคื ื™ ื”ืฉื•ืœื—ื ื•ืช ืฉืœืš. ืืคื™ืœื• ืขื ืžื™ืœื™ื•ื ื™ ื˜ื‘ืœืื•ืช, ื”ืฆืœื—ื ื• ืœื’ืจื•ื ืœืœื•ื•ื™ื™ืชืŸ ืœื‘ื™ืฆื•ืขื™ื ืžื“ื”ื™ืžื™ื ืขืœ ื™ื“ื™ ืฉื™ืžื•ืฉ ื‘ื›ืžื” ืžื ื’ื ื•ื ื™ ืžื˜ืžื•ืŸ ื—ื›ืžื™ื ื•ื’ื ืขืœ ื™ื“ื™ ื‘ื ื™ื™ื” ืžื—ื“ืฉ ืฉืœ ื”-backend ื‘-Rust. ืœื ืชื‘ื—ื™ืŸ ื‘ืขื™ื›ื•ื‘ ื‘ื—ื™ืคื•ืฉ [ืฉืœื•ื Google DS].

ื›ื™ืฆื“ ืœื—ืคืฉ ื ืชื•ื ื™ื ื‘ืžื”ื™ืจื•ืช ื•ื‘ืงืœื•ืช ืขื ืœื•ื•ื™ืชืŸ
ื”ื“ื’ืžืช ืœื•ื•ื™ืชืŸ, ื—ื™ืคื•ืฉ ืฉื•ืœื—ืŸ ืžื™ืœื™ื•ืŸ.

ื—ื™ืฉื•ื‘ ืื•ื˜ื•ืžื˜ื™ ืฉืœ ืžื“ื“ื™ื [ื‘ื’ืจืกืช ื‘ื˜ื]

ืื—ื“ ื”ื“ื‘ืจื™ื ื”ืคื—ื•ืช ืื”ื•ื‘ื™ื ืขืœื™ ื›ืžื“ืขืŸ ื ืชื•ื ื™ื ื”ื•ื ืœื”ืจื™ืฅ ืืช ืื•ืชืŸ ืฉืื™ืœืชื•ืช ืฉื•ื‘ ื•ืฉื•ื‘ ืจืง ื›ื“ื™ ืœื‘ื“ื•ืง ืืช ืื™ื›ื•ืช ื”ื ืชื•ื ื™ื ื‘ืฉื™ืžื•ืฉ. ืœื•ื•ื™ืชืŸ ืชื•ืžืš ื‘ื™ื›ื•ืœืช ืœื”ื’ื“ื™ืจ ืžื“ื“ื™ื ื‘-SQL ืจื’ื™ืœ ืฉื™ืชื•ื–ืžื ื• ืœืคืขื•ืœ ื™ื—ื“ ืขื ืฆื™ื ื•ืจื•ืช ื ื™ืงื•ื™ ื”ืžื˜ื ื ืชื•ื ื™ื ืฉืœืš. ื”ื’ื“ืจ ื‘ืœื•ืง ืžื“ื“ื™ YAML ื‘ืชื•ืš ื˜ื‘ืœืช ื”ืกื˜ืื‘, ื•ืœื•ื•ื™ื™ืชืŸ ื™ืคืขืœ ืื•ื˜ื•ืžื˜ื™ืช ืœืคื™ ืœื•ื— ื–ืžื ื™ื ื•ื™ืจื™ืฅ ืฉืื™ืœืชื•ืช ื”ืžืงื•ื ื ื•ืช ื‘ืžื“ื“ื™ื.

```metrics
metric-name:
  sql: |
    select count(*) from table
```

ื›ื™ืฆื“ ืœื—ืคืฉ ื ืชื•ื ื™ื ื‘ืžื”ื™ืจื•ืช ื•ื‘ืงืœื•ืช ืขื ืœื•ื•ื™ืชืŸ
ื‘ืฉื™ืœื•ื‘ ืขื Github, ื’ื™ืฉื” ื–ื• ืคื™ืจื•ืฉื” ืฉืœื•ื•ื™ื™ืชืŸ ื™ื›ื•ืœ ืœืฉืžืฉ ืžืงื•ืจ ืžืจื›ื–ื™ ืงืœ ืฉืœ ืืžืช ืœื”ื’ื“ืจื•ืช ืžื˜ืจื™ื•ืช. ืœื•ื•ื™ืชืŸ ืืคื™ืœื• ืฉื•ืžืจ ืืช ื”ืขืจื›ื™ื ื™ื—ื“ ืขื ื—ื•ืชืžืช ื”ื–ืžืŸ ื‘"~/. ืœื•ื•ื™ื™ืชืŸ/ืžื“ื“ื™ื" ืื ืืชื” ืจื•ืฆื” ืœืขืฉื•ืช ืชืจืฉื™ืžื™ื ืื• ืžื—ืงืจ ืžืขืžื™ืง ื™ื•ืชืจ.

ื”ืขืชื™ื“

ืœืื—ืจ ืฉื“ื™ื‘ืจื ื• ืขื ืžืฉืชืžืฉื™ื ืฉืœ ื’ืจืกืื•ืช ืงื“ื-ื”ื”ื•ืฆืื” ืฉืœื ื• ืฉืœ ืœื•ื•ื™ื™ืชืŸ, ื”ื‘ื ื• ืฉืื ืฉื™ื ืฆืจื™ื›ื™ื ื™ื•ืชืจ ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช. ืœืžื” ื›ืœื™ ื—ื™ืคื•ืฉ ื˜ื‘ืœื”? ืœืžื” ืœื ื›ืœื™ ื—ื™ืคื•ืฉ ืžื“ื“ื™ื? ืœืžื” ืœื ืœืคืงื—? ืœืžื” ืœื ื›ืœื™ ืœื‘ื™ืฆื•ืข ืฉืื™ืœืชื•ืช SQL? ื‘ืขื•ื“ ืœื•ื•ื™ื™ืชืŸ v1 ื ื•ืฆืจ ื‘ืžืงื•ืจ ื›ื›ืœื™ ื ืœื•ื•ื” ืคืฉื•ื˜ ืœ-CLI Dataportal/Amundsen, ื”ื™ื ื›ื‘ืจ ื”ืชืคืชื—ื” ืœืคืœื˜ืคื•ืจืžื” ืขืฆืžืื™ืช ื‘ืขืœืช ืชื›ื•ื ื•ืช ืžืœืื•ืช, ื•ืื ื• ืžืงื•ื•ื™ื ืฉื”ื™ื ืชื”ืคื•ืš ืœื—ืœืง ื‘ืœืชื™ ื ืคืจื“ ืžืขืจืš ื”ื›ืœื™ื ืฉืœ ืžื“ืขืŸ ื”ื ืชื•ื ื™ื.

ืื ื™ืฉ ืžืฉื”ื• ืฉืืชื” ืจื•ืฆื” ืœืจืื•ืช ื‘ืชื”ืœื™ืš ื”ืคื™ืชื•ื—, ื”ืฆื˜ืจืฃ ืืœื™ื ื• ืœืงื”ื™ืœืช ืกืœืืง, ืคืชื— ื’ื™ืœื™ื•ื ื•ืช ื‘ GitHubืื• ืืคื™ืœื• ืœืคื ื•ืช ื™ืฉื™ืจื•ืช ืœื™ื ืงื“ื™ืŸ. ื™ืฉ ืœื ื• ื›ื‘ืจ ืžืกืคืจ ืคื™ืฆ'ืจื™ื ืžื’ื ื™ื‘ื™ื - ืชื‘ื ื™ื•ืช Jinja, ืกื™ืžื ื™ื•ืช, ืžืกื ื ื™ ื—ื™ืคื•ืฉ, ื”ืชืจืื•ืช Slack, ืื™ื ื˜ื’ืจืฆื™ื” ืฉืœ Jupyter, ืืคื™ืœื• ืœื•ื— ืžื—ื•ื•ื ื™ื ืฉืœ CLI ืœืžื“ื“ื™ื - ืื‘ืœ ื ืฉืžื— ืœืชืฉื•ื‘ืชื›ื.

ืžืกืงื ื”

Whale ืคื•ืชื— ื•ืžืชื•ื—ื–ืง ืขืœ ื™ื“ื™ Dataframe, ืกื˜ืืจื˜ืืค ืฉืœืื—ืจื•ื ื” ื”ื™ื” ืœื™ ื”ืขื•ื ื’ ืœื”ืงื™ื ื™ื—ื“ ืขื ืื ืฉื™ื ืื—ืจื™ื. ื‘ืขื•ื“ ืœื•ื•ื™ืชืŸ ื ื•ืฆืจ ืขื‘ื•ืจ ืžื“ืขื ื™ ื ืชื•ื ื™ื, Dataframe ืžื™ื•ืขื“ ืœืžื“ืขื ื™ ื ืชื•ื ื™ื. ืœืืœื• ืžื›ื ืฉืจื•ืฆื™ื ืœืฉืชืฃ ืคืขื•ืœื” ื‘ืื•ืคืŸ ื”ื“ื•ืง ื™ื•ืชืจ, ืžื•ื–ืžื ื™ื ืœืขืฉื•ืช ื–ืืช ืœื˜ืคืœื ื•ืกื™ืฃ ืื•ืชืš ืœืจืฉื™ืžืช ื”ื”ืžืชื ื”.

ื›ื™ืฆื“ ืœื—ืคืฉ ื ืชื•ื ื™ื ื‘ืžื”ื™ืจื•ืช ื•ื‘ืงืœื•ืช ืขื ืœื•ื•ื™ืชืŸ
ื•ืœืคื™ ืงื•ื“ ื”ื˜ื‘ื” HABR, ื ื™ืชืŸ ืœืงื‘ืœ ืชื•ืกืคืช ืฉืœ 10% ืœื”ื ื—ื” ื”ืžืฆื•ื™ื ืช ืขืœ ื”ื‘ืื ืจ.

ืงื•ืจืกื™ื ื ื•ืกืคื™ื

ืžืืžืจื™ื ืžื•ืžืœืฆื™ื

ืžืงื•ืจ: www.habr.com