Apache Superset - Nền tảng khám phá và trực quan hóa dữ liệu
(superset.apache.org)- Apache Superset là nền tảng phân tích mã nguồn mở xử lý việc khám phá và trực quan hóa dữ liệu tại một nơi, cho phép người dùng ở nhiều mức độ thành thạo khác nhau làm việc với dữ liệu thông qua biểu đồ và dashboard
- Cung cấp đồng thời trình dựng trực quan hóa không cần code và SQL IDE, giúp người dùng nghiệp vụ và người dùng SQL khám phá dữ liệu theo cách riêng của họ
- Kết nối với các cơ sở dữ liệu dựa trên SQL, đồng thời có thể tận dụng cả cơ sở dữ liệu và engine cloud-native ở quy mô petabyte
- Hướng tới kiến trúc nhẹ và có khả năng mở rộng, vận hành trên hạ tầng dữ liệu hiện có, không yêu cầu tầng thu thập riêng
- Hỗ trợ luồng phân tích tự phục vụ với hơn 40 kiểu trực quan hóa, khả năng mở rộng dựa trên plugin, caching, template Jinja, bộ lọc dashboard và semantic layer
Nền tảng khám phá và trực quan hóa dữ liệu
- Apache Superset™ là nền tảng khám phá và trực quan hóa dữ liệu mã nguồn mở
- Nhấn mạnh tính nhanh, nhẹ và trực quan, hỗ trợ nhiều dạng trực quan hóa từ biểu đồ tuyến tính đơn giản đến biểu đồ không gian địa lý chi tiết
- Người dùng có thể khám phá dữ liệu thông qua trình dựng trực quan hóa không cần code hoặc SQL IDE
- Có thể kết nối với các cơ sở dữ liệu dựa trên SQL, và cũng bao gồm các cơ sở dữ liệu cloud-native hiện đại cùng các engine ở quy mô petabyte
- Có kiến trúc nhẹ, khả năng mở rộng cao, tận dụng hạ tầng dữ liệu hiện có và không cần tầng thu thập bổ sung
- Cung cấp hơn 40 loại trực quan hóa được cài sẵn, đồng thời có thể tạo trực quan hóa tùy chỉnh bằng kiến trúc plugin
Tài liệu theo vai trò và cộng đồng
- User Docs: tài liệu dành cho nhà phân tích và người dùng nghiệp vụ, bao quát khám phá dữ liệu, tạo biểu đồ, tạo dashboard và kết nối cơ sở dữ liệu
- Administrator Guide: tài liệu dành cho các nhóm phụ trách cài đặt và vận hành Superset, bao quát cài đặt, cấu hình, bảo mật và driver cơ sở dữ liệu
- Developer Guide: tài liệu dành cho kỹ sư đóng góp cho Superset hoặc phát triển các tính năng nền tảng, bao quát REST API, mở rộng và quy trình đóng góp
- Community: cung cấp tài nguyên cộng đồng như Slack, GitHub, mailing list và các meetup sắp diễn ra
Tính năng phân tích tự phục vụ
- Superset hỗ trợ luồng khám phá dữ liệu và tìm insight trên dashboard tương tác thông qua dashboard, Chart Builder, SQL Lab và Datasets
-
Tạo trực quan hóa và dashboard
- Cung cấp hơn 40 trực quan hóa được cài sẵn
- Hỗ trợ cả kéo-thả và truy vấn SQL
- Cung cấp data caching để giảm thời gian tải biểu đồ và dashboard
- Có thể xây dựng dashboard tương tác bằng template Jinja và bộ lọc dashboard
- Có thể dùng template CSS để trang trí biểu đồ và dashboard phù hợp với look and feel của thương hiệu
-
Tính năng mở rộng phân tích
- Cung cấp semantic layer cho chuyển đổi dữ liệu SQL
- Hỗ trợ phân tích dữ liệu sâu hơn bằng cross-filter, drill-to-detail và drill-by
- Có thể tận dụng virtual datasets cho khám phá dữ liệu tạm thời
- Có thể truy cập các tính năng mới thông qua feature flags
Các tổ chức sử dụng
- Superset cho biết có hàng nghìn công ty sử dụng nền tảng này để khám phá và trực quan hóa dữ liệu
- Các ví dụ về tổ chức sử dụng được hiển thị dưới dạng liên kết gồm Xnet Mobile, UserGuiding, Preset, PlaidCloud, VLMedia và Cirrus Assessment
1 bình luận
Ý kiến trên Hacker News
Tôi đã dùng Superset rất hài lòng, và sau khi thay thế Tableau thì không còn ý định quay lại nữa
Tôi đã mất khá nhiều thời gian để tìm hiểu cách nhúng vào ứng dụng bằng Superset Embedded SDK. SDK này cho phép dùng cơ chế xác thực của ứng dụng để đưa dashboard Superset vào chính ứng dụng đó, theo cách chèn một iframe chứa trang Superset vào ứng dụng host
https://github.com/apache/superset/tree/master/superset-embe...
Superset được xây dựng trên ECharts, một thư viện biểu đồ chất lượng cao và được duy trì tốt
https://echarts.apache.org/examples/en/#chart-type-linesG
Lộ trình cộng đồng cũng được công khai
https://github.com/apache/superset/projects?query=is%3Aopen
Tôi rất tôn trọng Preset.io và đội ngũ vì những đóng góp của họ cho dự án và việc giữ cho nó ở trạng thái tốt
https://preset.io/blog/
Mã nguồn của Superset dễ đọc và dễ hiểu, nên cũng có thể triển khai các kỹ thuật cache nâng cao để giảm tải cho biểu đồ. Không có BI nào là hoàn hảo, nhưng sau vài năm theo dõi, tôi có được sự tin tưởng rằng đây là một dự án sẽ tiếp tục hoạt động đúng như định hướng, và biết đâu sau này một số package có thể được tái sử dụng cho nhiều kiểu trực quan hóa và khai phá dữ liệu khác nhau
Tôi thường chọn cách bắt đầu phần trực quan hóa với ECharts và một lớp bọc React đơn giản, rồi chạy Superset trên một subdomain cho nhóm power user để xem bên nào phù hợp hơn. Nếu giữ cùng một diện mạo thì trải nghiệm người dùng khá tốt
https://evidence.dev
Thảo luận HN trước đó: https://news.ycombinator.com/item?id=35645464 (97 bình luận)
Tôi đã dùng Superset vài năm trước, và có thể giờ nó đã khác, nhưng nếu phải mô tả thì trực quan là từ tôi muốn dùng sau cùng
Những việc ở các công cụ BI khác có thể hiểu ra chỉ trong vài phút thì với Superset tôi đã phải mất hàng giờ đúng nghĩa để mò. Việc họ đổi tên một khái niệm cốt lõi ở giữa chừng khiến một nửa tài liệu trên mạng không còn khớp nữa cũng chẳng giúp ích gì. Các đồng nghiệp trong công ty từng dùng cùng tôi lúc đó cũng có cảm nhận tương tự
Người dùng kinh doanh cũng thích nó và tôi cũng hài lòng, còn việc gắn backend Postgres thay cho cơ sở dữ liệu h2 nội bộ để quản trị cũng khá dễ dàng
Nó có thể dựng một cơ sở dữ liệu DuckDB làm data warehouse tích hợp để nạp dữ liệu vào, và với hơn 500 connector, nó có thể tự động lấy dữ liệu từ Postgres, Stripe, HubSpot, Zendesk mà không cần ETL riêng
Ở semantic layer, bạn định nghĩa dimension, metric và join ở cùng một chỗ, và cũng có các model dựng sẵn cho từng nguồn được hỗ trợ. Ví dụ, model Stripe đã có sẵn các metric như MRR và churn
Theo kiểu BI đơn giản, bạn tạo bảng dữ liệu mình muốn rồi tạo trực quan hóa từ bảng đó. Nếu có câu hỏi, có thể liên hệ mike@definite.app
Tài liệu cũng khá sơ sài, nói nhẹ thì là vậy
Bù lại, nó đầy rẫy lỗi runtime Python và vô số lỗi vặt không đếm xuể. Hiện giờ Metabase có vẻ gần với đáp án đúng hơn
Các công cụ BI đầy đủ như Superset hay Metabase rất tuyệt cho đúng trường hợp sử dụng mà chúng nhắm tới
Nhưng nếu mục đích chính chỉ là thỉnh thoảng tạo các báo cáo hơi có tính tương tác cho người dùng cuối không chuyên kỹ thuật, và phần lớn chỉ cần biểu đồ tiêu chuẩn cùng bảng là đủ, thì chúng có thể là quá mức cần thiết. Điều này càng đúng nếu bạn đã quen với SQL và có quyền truy cập vào nguồn dữ liệu gốc
Trong những trường hợp như vậy, SQLPage và Evidence rất hữu ích. Bạn có thể nhanh chóng viết SQL rồi biến nó thành một web UI sạch sẽ, chuyên nghiệp để đưa cho người dùng cuối. Evidence là trang web tạo tĩnh, còn SQLPage là ứng dụng web kết nối tới cơ sở dữ liệu thời gian thực
SQLPage: https://sql.ophir.dev/
Evidence: https://evidence.dev
Tôi thích Superset.
Từ năm 2017, tôi đã đưa nó vào môi trường production ở hai công ty, và công ty hiện tại là một doanh nghiệp lớn.
Với vai trò một hệ thống dashboard dựa trên cơ sở dữ liệu đa dụng, tôi cho rằng đây là tốt nhất. Tôi không có ý định trả tiền cho Tableau hay Power BI.
Airflow cũng vậy.
Dùng instance Superset của Wikipedia thì có thể truy vấn cơ sở dữ liệu nội bộ của Wikipedia.
https://superset.wmcloud.org
https://phabricator.wikimedia.org/T169452
Trước đây tôi đã dùng nó để tạo thống kê tùy chỉnh.
https://github.com/altilunium/wikiidmon
Đây là các bài liên quan. Không biết còn bài nào khác không.
Open source Business intelligence platform made with Python - https://news.ycombinator.com/item?id=29368664 - tháng 11 năm 2021 (49 bình luận)
Apache Superset 1.1 - https://news.ycombinator.com/item?id=27439939 - tháng 6 năm 2021 (28 bình luận)
The Apache Software Foundation Announces Apache Superset as a Top-Level Project - https://news.ycombinator.com/item?id=25905277 - tháng 1 năm 2021 (1 bình luận)
Apache Superset is an enterprise-ready business intelligence web application - https://news.ycombinator.com/item?id=21133931 - tháng 10 năm 2019 (7 bình luận)
Superset rất mạnh, nhưng tôi thắc mắc vì sao họ không sửa những bất tiện nhỏ nhặt. Ví dụ như pixel của spinner bị lệch, không thể sao chép giá trị ô trong bảng, hoặc không dùng font monospace cho các con số trong bảng. Có hàng trăm điều bực mình nho nhỏ như vậy trong sản phẩm.
Luôn phải cân bằng giữa việc làm các tính năng mới mà mọi người yêu cầu và sửa những vấn đề bề ngoài kiểu này vốn cứ tiếp tục xuất hiện.
Tôi muốn biết có ai đã dùng cả Superset lẫn Metabase chưa. Tôi đã dùng Metabase cho vài dự án và thấy nó khá ổn. Superset có vẻ mạnh hơn.
Không biết nó có đáng dùng cả cho BI với bộ dữ liệu nhỏ không.
Lý do chúng tôi chọn Metabase là vì có table join. Khi tôi dùng Superset thì nó chưa có join, và tôi không biết sau này đã được thêm vào chưa. Giao diện của Metabase cũng trông trau chuốt hơn một chút.
Dù vậy, cá nhân tôi vẫn thích Superset hơn nhiều. Để Metabase dùng được thì tôi phải tắt khá nhiều tính năng, và từ chuyện nó hiển thị “the_table” thành “The Table” cho đến sự mập mờ giữa model và “question” đều khiến tôi khó chịu. Mỗi lần muốn sửa một question thì nó lại cố tạo question mới, cũng rất bực.
Đặc biệt, khi muốn đổi nguồn dữ liệu của nhiều question, đây là vấn đề lớn vì Metabase không có cách gọn gàng để đổi mà không tạo question mới.
Ngoài ra, Metabase chỉ cho serialization nếu bạn tự host và trả tiền. Tự host mà còn phải trả tiền cho chính xác cái gì thì tôi không rõ, và điều đó khá khó chịu.
https://www.metabase.com/docs/latest/installation-and-operat...
Nhưng dù sao thì nó có table join. Đôi khi chỉ riêng điều đó cũng đủ đáng để chấp nhận Metabase.
Nếu chỉ xét riêng trực quan hóa dữ liệu thì Superset là tốt nhất, nhưng với vai trò BI tự phục vụ cho người dùng doanh nghiệp trên một star schema sẵn có thì tôi thấy nó gần như vô dụng. Issue này về cách làm join trong Superset cho thấy rất rõ khó khăn của BI trên Superset, kể cả chuyện stalebot làm rối tung mọi thứ.
https://github.com/apache/superset/issues/8645
Metabase khá xuất sắc, và rõ ràng là lựa chọn phù hợp cho các startup muốn dựng BI nhanh với chi phí thấp. Nó vẫn mang góc nhìn thiên về bảng khá nhiều, nhưng tôi có cảm giác nó được tạo ra cho BI nhiều hơn là chỉ để trực quan hóa đơn thuần.
Lightdash có những khuyết điểm lớn như YAML, pivot thực hiện ở frontend, và thiếu symmetric aggregates, nhưng rõ ràng chịu ảnh hưởng từ Looker và dễ trình bày table group cho người dùng doanh nghiệp theo cách họ có thể dùng ngay. Tôi thích Looker trước khi bị Google mua lại, và người dùng doanh nghiệp của chúng tôi tuy không biết các thuật ngữ star schema hay snowflake schema, nhưng lại quen với kiểu cấu trúc đó, nên rất dễ đặt Lightdash lên trên data warehouse hiện có.
Ở công ty tôi dùng Metabase khá nhiều. Nhưng điểm mà các công cụ kiểu này đều có vẻ yếu là cách sắp xếp hàng trăm dashboard và câu hỏi
Sẽ rất hay nếu có thứ gì đó như wiki tích hợp để xây dựng cấu trúc khám phá tốt hơn. Không biết có ai biết cách hay nào không
Một cách hữu ích là kết nối Metabase với chính cơ sở dữ liệu của nó để tạo truy vấn cho các truy vấn
select *from report_cardwhere dataset_query ilike '%' || {{query}} || '%'Bạn cũng có thể join thêm metadata như tác giả hoặc thời điểm chạy gần nhất
Tôi thực sự cố gắng giữ cấu trúc thư mục Collection sạch sẽ và nhất quán, nhưng dù vậy vẫn rất khó
Một cách khác có thể là dùng LLM để tóm tắt, gắn thẻ và nhóm các truy vấn để dễ tìm hơn
Tôi tò mò không biết Superset có phải là công cụ ổn ngay cả khi làm phân tích dữ liệu một mình không
Ví dụ, tôi có vài cơ sở dữ liệu sqlite và chỉ muốn phát triển truy vấn cùng biểu đồ. Tôi đã xem Tableau, Power BI và Superset, nhưng cả ba đều có vẻ khá nặng đối với người dùng đơn lẻ, và thiết lập cục bộ cũng không có vẻ quá dễ
Nếu có phần mềm nào tốt cho người dùng đơn lẻ, hoặc cách nào để chạy những công cụ nặng như thế thuận tiện hơn, tôi rất muốn được gợi ý
Tôi xem các sản phẩm này gần với công cụ trực quan hóa dữ liệu và báo cáo hơn, tức là để trình bày các bộ dữ liệu đã chuẩn bị sẵn sao cho đẹp mắt cho người dùng. Chúng kém phù hợp hơn cho phân tích nghiêm túc
Tôi không rành Superset hay Tableau, nhưng Power BI thì tôi quen vì đã được triển khai trên toàn tổ chức. Các thống kê có thể làm bằng Power BI khá cơ bản. Vượt quá các tóm tắt như đếm, trung bình, nhỏ nhất, lớn nhất thì sẽ không còn dễ nữa
Tôi dùng SAS hoặc R cho phân tích dữ liệu. Những phần mềm này có thể làm các việc như hồi quy đa biến, dự báo chuỗi thời gian, phân tích thành phần chính, phân cụm, và cũng có khả năng vẽ biểu đồ
Cả hai đều hơi cũ một chút. Tôi đã dùng từ đầu những năm 2000, còn cách làm hiện nay có vẻ là Python. Nhân sự khoa học dữ liệu gần đây của tổ chức tôi hầu như đều dùng Python, đặc biệt là các thư viện như Pandas và Seaborn(https://seaborn.pydata.org/)
Những power user của Power BI trong tổ chức tôi chủ yếu thuộc mảng tài chính hoặc HR, và thường dùng nó để drill-down số liệu chi phí hoặc hiển thị KPI cùng các chỉ số chính cho lãnh đạo theo cách tương tác
Nó có thể dùng như một ứng dụng cho người dùng đơn lẻ, và miễn là bạn không nhúng nó như một phần của ứng dụng mình xây dựng thì cứ dùng theo cách đó là được