Cách tìm kiếm dữ liệu nhanh chóng và dễ dàng với Whale

Cách tìm kiếm dữ liệu nhanh chóng và dễ dàng với Whale
Bài viết này nói về công cụ khám phá dữ liệu đơn giản và nhanh nhất, công việc mà bạn thấy trên KDPV. Thật thú vị, cá voi được thiết kế để lưu trữ trên máy chủ git từ xa. Chi tiết dưới vết cắt.

Công cụ khám phá dữ liệu của Airbnb đã thay đổi cuộc đời tôi như thế nào

Trong sự nghiệp của mình, tôi đã đủ may mắn để giải quyết một số bài toán thú vị: Tôi đã học toán dòng chảy khi đang lấy bằng tại MIT, làm việc trên các mô hình gia tăng và với một dự án mã nguồn mở thang máy tại Wayfair và triển khai các mô hình nhắm mục tiêu trang chủ mới và cải tiến CUPED tại Airbnb. Nhưng tất cả công việc này không bao giờ hào nhoáng—thực ra, tôi thường dành phần lớn thời gian để tìm kiếm, nghiên cứu và xác thực dữ liệu. Mặc dù đây là trạng thái liên tục tại nơi làm việc, nhưng tôi không nghĩ rằng đây là vấn đề cho đến khi tôi đến Airbnb, nơi vấn đề được giải quyết bằng một công cụ khám phá dữ liệu - cổng dữ liệu.

Tôi có thể tìm {{dữ liệu}} ở đâu? cổng dữ liệu.
Cột này có nghĩa là gì? cổng dữ liệu.
{{metric}} hôm nay thế nào? cổng dữ liệu.
Ý nghĩa cuộc sống là gì? TRONG cổng dữ liệu, có lẽ.

Được rồi, bạn đã trình bày hình ảnh. Tìm kiếm dữ liệu và hiểu ý nghĩa của nó, cách dữ liệu được tạo ra và cách sử dụng tất cả chỉ mất vài phút chứ không phải hàng giờ. Tôi có thể dành thời gian để rút ra các kết luận đơn giản hoặc các thuật toán mới, (… hoặc trả lời các câu hỏi ngẫu nhiên về dữ liệu), thay vì tìm hiểu kỹ các ghi chú, viết các truy vấn SQL lặp đi lặp lại và đề cập đến các đồng nghiệp trên Slack để thử tạo lại bối cảnh mà người khác đã có có.

Có vấn đề gì vậy?

Tôi nhận ra rằng hầu hết bạn bè của tôi không có quyền truy cập vào một công cụ như vậy. Rất ít công ty sẵn sàng dành nguồn lực khổng lồ để xây dựng và duy trì một công cụ nền tảng như Dataportal. Và mặc dù có một số giải pháp nguồn mở, nhưng chúng có xu hướng được thiết kế để mở rộng quy mô, gây khó khăn cho việc thiết lập và bảo trì nếu không có kỹ sư DevOps chuyên dụng. Vì vậy, tôi quyết định tạo ra một cái gì đó mới.

Whale: Một công cụ khám phá dữ liệu đơn giản đến ngu ngốc

Cách tìm kiếm dữ liệu nhanh chóng và dễ dàng với Whale

Và vâng, đơn giản một cách ngu ngốc ý tôi là đơn giản một cách ngu ngốc. Con cá voi chỉ có hai thành phần:

  1. Một thư viện Python thu thập siêu dữ liệu và định dạng nó trong MarkDown.
  2. Giao diện dòng lệnh Rust để tìm kiếm thông qua dữ liệu này.

Từ quan điểm của cơ sở hạ tầng nội bộ để bảo trì, chỉ có rất nhiều tệp văn bản và một chương trình cập nhật văn bản. Vậy là xong, nên việc lưu trữ trên một máy chủ git như Github là chuyện nhỏ. Không có ngôn ngữ truy vấn mới để tìm hiểu, không có cơ sở hạ tầng quản lý, không có bản sao lưu. Mọi người đều biết Git, vì vậy việc đồng bộ hóa và cộng tác là miễn phí. Chúng ta hãy xem xét kỹ hơn về chức năng Cá voi v1.0.

GUI dựa trên git đầy đủ tính năng

Cá voi được thiết kế để bơi trong đại dương của máy chủ git từ xa. Anh ta rất dễ có thể định cấu hình: xác định một số kết nối, sao chép tập lệnh Github Actions (hoặc viết một tập lệnh cho nền tảng CI/CD bạn đã chọn) và bạn sẽ có ngay một công cụ web khám phá dữ liệu. Bạn sẽ có thể tìm kiếm, xem, lập tài liệu và chia sẻ bảng tính của mình trực tiếp trên Github.

Cách tìm kiếm dữ liệu nhanh chóng và dễ dàng với Whale
Một ví dụ về bảng sơ khai được tạo bằng Github Actions. Bản demo hoạt động đầy đủ xem trong phần này.

Tìm kiếm CLI nhanh như chớp cho kho lưu trữ của bạn

Whale sống và thở trên dòng lệnh, cung cấp khả năng tra cứu mili giây mạnh mẽ trên các bảng của bạn. Ngay cả với hàng triệu bảng, chúng tôi đã xoay sở để làm cho cá voi hoạt động cực kỳ hiệu quả bằng cách sử dụng một số cơ chế lưu vào bộ nhớ đệm thông minh và cũng bằng cách xây dựng lại phần phụ trợ trong Rust. Bạn sẽ không nhận thấy bất kỳ sự chậm trễ nào khi tìm kiếm [xin chào Google DS].

Cách tìm kiếm dữ liệu nhanh chóng và dễ dàng với Whale
Bản demo cá voi, tra cứu bảng triệu.

Tính toán tự động các số liệu [trong phiên bản beta]

Một trong những điều ít yêu thích nhất của tôi với tư cách là một nhà khoa học dữ liệu là chạy đi chạy lại cùng một truy vấn chỉ để kiểm tra chất lượng của dữ liệu đang được sử dụng. Whale hỗ trợ khả năng xác định các chỉ số bằng SQL đơn giản sẽ được lên lịch để chạy cùng với các quy trình dọn dẹp siêu dữ liệu của bạn. Xác định khối chỉ số YAML bên trong bảng sơ khai và Whale sẽ tự động chạy theo lịch trình và chạy các truy vấn được lồng trong chỉ số.

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

Cách tìm kiếm dữ liệu nhanh chóng và dễ dàng với Whale
Kết hợp với Github, cách tiếp cận này có nghĩa là cá voi có thể đóng vai trò là nguồn trung tâm dễ hiểu của sự thật cho các định nghĩa số liệu. Cá voi thậm chí còn lưu các giá trị cùng với dấu thời gian trong tệp "~/. cá voi/số liệu" nếu bạn muốn thực hiện một số biểu đồ hoặc nghiên cứu chuyên sâu hơn.

Tương lai

Sau khi nói chuyện với người dùng về các phiên bản trước khi phát hành của chúng tôi về cá voi, chúng tôi nhận ra rằng mọi người cần nhiều chức năng hơn. Tại sao một công cụ tra cứu bảng? Tại sao không phải là một công cụ tìm kiếm số liệu? Tại sao không giám sát? Tại sao không phải là một công cụ thực thi truy vấn SQL? Trong khi cá voi v1 ban đầu được hình thành như một công cụ đồng hành CLI đơn giản Dataportal/Amundsen, nó đã phát triển thành một nền tảng độc lập đầy đủ tính năng và chúng tôi hy vọng nó sẽ trở thành một phần không thể thiếu trong bộ công cụ của Nhà khoa học dữ liệu.

Nếu có điều gì đó bạn muốn thấy trong quá trình phát triển, hãy tham gia cùng chúng tôi đến cộng đồng Slack, mở Vấn đề tại Githubhoặc thậm chí liên hệ trực tiếp LinkedIn. Chúng tôi đã có một số tính năng thú vị - mẫu Jinja, dấu trang, bộ lọc tìm kiếm, cảnh báo Slack, tích hợp Jupyter, thậm chí là bảng điều khiển CLI cho các số liệu - nhưng chúng tôi rất muốn thông tin đầu vào của bạn.

Kết luận

Whale được phát triển và duy trì bởi Dataframe, một công ty khởi nghiệp mà gần đây tôi rất hân hạnh được đồng sáng lập với những người khác. Trong khi cá voi được tạo ra cho các nhà khoa học dữ liệu, thì Dataframe được tạo ra cho các nhà khoa học dữ liệu. Đối với những bạn muốn hợp tác chặt chẽ hơn, vui lòng Địa chỉchúng tôi sẽ thêm bạn vào danh sách chờ.

Cách tìm kiếm dữ liệu nhanh chóng và dễ dàng với Whale
Và bằng mã khuyến mãi HABR, bạn có thể nhận thêm 10% cho khoản giảm giá được ghi trên biểu ngữ.

Các khóa học khác

Bài báo nổi bật

Nguồn: www.habr.com