Whaleでデータをすばやく簡単に検索する方法



この記事は、KDPVでの作業で見られる最も単純で最速のデータ検出ツールに関するものです。興味深いことに、whaleはリモートのgitサーバーでホストされるように設計されています。カットの下の詳細。



Airbnbのデータ検出ツールが私の人生をどのように変えたか



私のキャリアでは、幸運にもいくつかの楽しい問題に取り組むことができました。MITで学位を取得している間、フロー数学を学び、インクリメンタルモデルとWayfairのpyliftオープンソースプロジェクトに取り組み、新しいホームページターゲティングモデルとCUPEDの改善を導入しました。 Airbnb。しかし、このすべての作業は決して魅力的ではありませんでした。実際、私はほとんどの時間をデータの検索、調査、検証に費やしていました。これは作業中の永続的な状態でしたが、Airbnbに到達するまで問題になることはありませんでした。そこで、データ検出ツールであるDataportalで解決されました



{{data}}はどこにありますか?データポータル

この列はどういう意味ですか?データポータル

今日の{{metric}}はどうですか?データポータル

生命感とは?ではDataportal、おそらく。


さて、あなたは写真を提示しました。データを見つけて、その意味、作成方法、使用方法を理解する-これはすべて、数時間ではなく、数分で完了します。メモを調べたり、繰り返しSQLクエリを記述したり、Slackの同僚に言及してコンテキストを再作成したりするのではなく、簡単な結論や新しいアルゴリズム(...またはデータに関するランダムな質問への回答)を描くことに時間を費やすことができました。他の誰かがすでに持っていた。



どうしたの?



私の友人のほとんどがそのようなツールにアクセスできないことに気づきました。Dataportalのようなプラットフォームツールの構築と保守に膨大なリソースを費やしたいと考える企業はほとんどありません。そこにはいくつかのオープンソースソリューションがありますが、それらは一般に拡張できるように設計されているため、専任のDevOpsエンジニアなしでセットアップと保守を行うことは困難です。そこで、何か新しいものを作ることにしました。



クジラ:ばかげたデータ発見ツール







そして、はい、単純から愚かとは、単純から愚かを意味します。クジラには2つの要素しかありません。



  1. メタデータを収集し、MarkDownでフォーマットするPythonライブラリ。
  2. このデータを検索するためのRustコマンドラインインターフェイス。


内部インフラストラクチャの観点からは、メンテナンス用のテキストファイルとテキスト更新プログラムはたくさんあります。それだけなので、Githubのようなgitサーバーでのホスティングは簡単です。学習する新しいクエリ言語、管理インフラストラクチャ、バックアップはありません。Gitはすべての人に知られているため、同期とコラボレーションは無料です。Whalev1.0の機能を詳しく見てみましょう



フル機能のgitベースのGUI



Whaleは、リモートgitサーバーの海を航行するように作られています。これは非常に構成可能です。いくつかの接続を定義し、Github Actionsスクリプトをコピーして(または選択したCI / CDプラットフォーム用に記述して)、Webベースのデータ検出ツールをすぐに使用できます。Githubで直接テーブルを検索、表示、文書化、共有できるようになります。





Githubアクションを使用して生成されたスタブテーブルの例。完全に機能するデモについては、このセクションを参照してください



リポジトリの超高速CLI検索



クジラはコマンドラインで生きて呼吸し、テーブル全体で強力なミリ秒のルックアップを提供します。何百万ものテーブルがある場合でも、いくつかの巧妙なキャッシュメカニズムを使用し、Rustでバックエンドを再構築することで、クジラのパフォーマンスを驚異的にすることができました。検索の遅れはありません[こんにちはGoogleDS]。





クジラのデモ、100万以上のテーブルを検索します。



メトリックの自動計算[ベータ版]



データサイエンティストとして私の最も嫌いなことの1つは、使用されているデータの品質をチェックするためだけに同じクエリを何度も実行することです。Whaleは、メタデータクリーンアップパイプラインとともにスケジュールに従って実行されるプレーンSQLでメトリックを定義する機能をサポートしています。スタブテーブル内にYAMLメトリックブロックを定義すると、Whaleはスケジュールに従って自動的に実行され、ネストされたメトリッククエリを実行します。



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




Githubと組み合わせると、このアプローチは、クジラがメトリック定義の簡単な中心的な真実の情報源として機能できることを意味します。ホエールは、タイムスタンプと一緒に値を〜/に保存します。クジラ/メトリクス「ある種のグラフやより深い研究をしたい場合。



未来



プレリリース版のクジラのユーザーと話をしたところ、人々はより多くの機能を必要としていることに気づきました。なぜテーブルルックアップツールなのですか?メトリック検索ツールを使用しないのはなぜですか?なぜ監視しないのですか?なぜSQLクエリ実行ツールではないのですか? whale v1は元々単純なCLIコンパニオンツールとして考案されましたDataportal/Amundsenが、すでに完全に機能するスタンドアロンプ​​ラットフォームに進化しており、データサイエンティストツールボックスの不可欠な部分になることを願っています。



開発プロセスで見たいものがある場合は、Slackコミュニティ参加するGithubIssuesを開くか、LinkedInに直接連絡してください。..。Jinjaテンプレート、ブックマーク、検索フィルター、Slackアラート、Jupyter統合、さらにはメトリック用のCLIパネルなど、すばらしい機能がすでに多数用意されていますが、ぜひご意見をお寄せください。



結論



Whaleは、最近他の人と一緒に始めることができたスタートアップであるDataframeによって開発およびサポートされています。クジラはデータ科学者向けですが、データフレームはデータチーム向けです。より緊密に協力したい方のために-遠慮なく連絡してください、私たちはあなたを順番待ちリストに追加します。



画像


また、HABRプロモーションコードを使用すると、バナーに示されている割引にさらに10%を追加できます。












All Articles