Saynの導入:シンプルで強力なデータ処理フレームワーク.


だから、何がsay?簡単に言えば、Saynはオープンソースのデータ処理フレームワークです.我々(173 Techチーム)は、完全な柔軟性を維持している間、最も簡単なフレームワークにそれを構築しました.ユーザーは、複数の定義済みのタスクの種類から選択することができますし、独自のETLプロセスを構築します.Saynは本当にユニークであり、以前に見たことがない何かです.もっと知りたい?次に読んでください!

現代分析論:コンテクスト


我々はSaynについての詳細を話す前に、コンテキストで物事を配置するために迅速なリフレッシュを開始しましょう.最新の解析論インフラストラクチャは、通常、次のグラフに示すように5つのコア層を使用してデータウェアハウスを中心に構成されます

何百と多くのタスクとそれらの依存関係の作成とメンテナンスを簡単にサポートすることができる場所で効率的でスケーラブルなデータ処理をすることは重要です.この二つの一般的な方法があります.
  • セットアップに非常に複雑であることができて、より多くのメンテナンスにつながる気流のような技術的なワークフロー管理フレームワークを使用すること.
  • 柔軟性を欠いたステッチ+ DBTなどのツールを使用して軽量アプローチを取ることは、カスタム抽出やデータサイエンスモデルなどのPythonプロセスの流れを提供しません.
  • どのような場合は、スケールでの分析プロセスの高い柔軟性を維持するだけでなく、物事をシンプルに保つか?さて、それがわかるように、我々は効率的にそれらの懸念に対処したデータ処理フレームワークを見つけませんでした.だから我々はそれを構築!

    Sayn :創世記


    スケールでパイプラインを維持するとき、我々は単純さが重要であると思っています.しかし、我々はまた、シンプルさは柔軟性を犠牲にしてはならないと信じています.このため、独自のオープンソースデータ処理フレームワークを構築しました.SAYN . Saynはシンプルで、柔軟で集中化された分析チームを統率するように設計されています.それは分析チームの中でデータプロセスへの貢献を民主化します.そして、完全な柔軟性を可能にして、オートメーションによって多くの時間を節約するのを助けます.
    Saynタスクの概念の周りに構築され、現在、次のタスクの種類を事前に構築されています:

  • SQL :データベースに対してSQLクエリを実行します.

  • AutoSQL :データ変換プロセスを自動化します.あなたはSELECT文を書きます、そして、saynはあなたのためにテーブル/View作成の世話をします.また、増分負荷に使用することができます.

  • Python : Pythonコードを実行します.

  • コピー:1つのデータベースから別のデータを自動的にコピーします.
  • より多くの来ている!
  • 次のグラフは、Saynを使用する方法を示します.青い線は、saynによって編成されます:

    サンス哲学


    Saynは、現代のデータ処理フレームワークが単純で、柔軟で、集中的であることによってデータエンジニアとアナリストに力を与えるべきである3つの中心的な信念のまわりで設計されます.これはどのようにsaynその約束に住んでいます:

    シンプル

  • プロジェクト構造とタスクは、構成のためにしばしば使用される非常に単純な言語、YAMLで定義されます.これは、すべてのアナリストやエンジニアが簡単にパイプラインに貢献し、新しいデータプロセスを追加することができる利点があります.
  • タスクの任意の組み合わせを実行できますsayn run スムーズかつ効率的なワークフローを有効にする、Pythonのタスクを含む.
  • Saynは多くのオートメーションを提供し、そのタスクタイプ(例えば、SELECT文を自動的にテーブル/ビューに変換したり、一つのデータベースから別のデータベースにデータをコピーする)、およびそのAPI(例えば、既存のデータベース接続と資格情報の選択によってあなたのPythonコードでアクセスする)を通してデータ工学の複雑さを減らします.あなたのチームはパイプラインコードとは対照的に論理コードを書くことに集中できます.
  • タスクは、YAMLの2行と実行するコードとして定義することができます.一般的にSaynスーパーとすぐに行くことができます!
  • フレキシブル

  • Saynは、両方のSQLとPythonを使用すると、文字通り解析スペクトルの何かを行うことができます意味:データ抽出、モデリング、データサイエンス.
  • Saynは、簡単にコードを動的にできるように神社によって供給されています.例えば、prodとdev環境の間を切り替える.
  • あなたが好む任意のデータベース構造を定義することができます、saynは、特定のデザインにデフォルトであなたを強制しません.
  • 集中化

  • Saynは、あなたのSaynプロジェクトのすべての解析コードを集中化し、バージョン管理することができます、全体のパイプライン間で使用することができます.
  • タスク定義はSaynオーケストレーションのバックボーンを構築するYAMLファイルで集中化されます.
  • ハウツーとスタイル


    どのように偉大なsaynを参照してくださいに最適な方法は、実際にそれを試してみることです!SaynはPYPIに配布され、コマンドラインを使用して動作します.を使用して実行されるsayn run コマンド.文字通り、次の4行で2分で始めることができます.
    $ pip install sayn
    $ sayn init test_sayn
    $ cd test_sayn
    $ sayn run
    
    これはsayn パッケージを作成しますtest_sayn , プロジェクトディレクトリに移動し、Saynを実行します.次の出来事が表示されます.

    前述の通り、Saynプロジェクトは、タスクの概念を中心に組織化されています.
  • タスクは、データプロセスとその関係を定義し、Saynは自動的にあなたのために有向非循環グラフ(DAG)を構築します.
  • Sayn複数のタスクの種類をサポートします.単に型を選択することでタスクを定義し、必要に応じて必要な属性を定義し、実行するコードを指定します.
  • タスクは別のYAMLファイル(“タスクグループ”と考えられている)で分離することができます(例えば、コア、マーケティング、データサイエンス)データ処理を分離し、あなたのプロジェクトは、規模として組織を維持します.
  • 以下はSaynの使用例です.
  • AutoSQLタスクを使用した倉庫自動データ変換これは、マーケティングROIを計算するなどのデータモデリングプロセスのために非常に強力です.
  • 自動的に操作データベースレプリカから解析的クラスタにデータをコピーする.
  • 抽出ツールを補完するためにPythonタスクを使用して、抽出器が欠けているとき、または抽出が非効率的に行われます.
  • LTV予測データサイエンスモデルを作成し、データウェアハウスに負荷結果を作成するには、Pythonタスクを使用します.
  • あなたはどのようにsaynの作品についての詳細を理解する場合はtutorials どちらが良い出発点です.

    もっと知りたい?


    我々は活発に発展しているSAYN そして、それは日までにさらに良くなっています!Saynは私たちの生活を173工大でとても簡単にしました、そして、それは本当に我々の分析学能力を解き放ちました.あなたのチームも同様に恩恵を受けることができます!また、我々はフレームワークをより良いので、私たちは友好的にしてくださいすることができますフィードバックを得るのが大好きだ[email protected] . すぐに話しなさい!