12 điểm bởi GN⁺ 2024-10-07 | 2 bình luận | Chia sẻ qua WhatsApp
  • Công cụ mã nguồn mở dùng để kiểm tra, truy vấn, join, nhập và xuất dữ liệu, hữu ích khi làm việc với cơ sở dữ liệu và tài liệu
  • Sử dụng ngôn ngữ truy vấn SLQ và hỗ trợ nhiều nguồn dữ liệu cũng như định dạng khác nhau

Tính năng chính

  • So sánh bảng cơ sở dữ liệu: Có thể dùng lệnh diff để so sánh metadata nguồn hoặc giá trị của các hàng.
  • Nhập dữ liệu từ Excel vào Postgres: Có thể chèn nội dung của worksheet Excel XLSX vào một bảng Postgres mới.
  • Xem metadata cơ sở dữ liệu: Có thể xuất schema và các metadata khác ở định dạng JSON bằng cờ --json.
  • Lấy tên всех cột của bảng MySQL: Có thể dễ dàng trích xuất tên cột của một bảng cụ thể.
  • Chạy truy vấn SQL Server và chèn kết quả vào SQLite: Có thể chạy truy vấn trên SQL Server và chèn kết quả vào SQLite.
  • Xuất tất cả bảng cơ sở dữ liệu sang CSV: Có thể trích xuất tên bảng bằng metadata JSON và xuất từng bảng ra tệp CSV.

Lệnh nguồn

  • Thêm và quản lý nguồn: Cung cấp các lệnh để thêm, kích hoạt, di chuyển, liệt kê, nhóm, ping hoặc xóa nguồn.
  • Lệnh cho bảng cơ sở dữ liệu: Cung cấp các lệnh tiện lợi như sao chép, cắt và xóa bảng.

Truy vấn JSONL

  • Hỗ trợ định dạng JSONL: Có thể truy vấn các tệp log ở định dạng JSON Lines.

Nguồn SQL và định dạng đầu ra

  • Các cơ sở dữ liệu được hỗ trợ: Hỗ trợ Postgres, SQLite, MySQL, MariaDB, SQL Server, Azure SQL Edge và nhiều hệ khác.
  • Nguồn khác: Có thể nhập dữ liệu từ các định dạng như Excel XLSX, CSV, TSV, JSON, JSONA, JSONL.
  • Định dạng đầu ra: Có thể xuất ra nhiều định dạng như chèn vào cơ sở dữ liệu SQL, Excel XLSX, CSV, TSV, JSON, JSONL, JSONA, XML, HTML, Markdown, Raw.

Tóm tắt của GN⁺

  • sq là một công cụ mạnh mẽ để xử lý dữ liệu cơ sở dữ liệu và tài liệu, hỗ trợ nhiều nguồn dữ liệu và định dạng, mang lại sự linh hoạt trong xử lý dữ liệu.
  • Có thể đơn giản hóa công việc dữ liệu thông qua nhiều chức năng như di chuyển dữ liệu giữa các cơ sở dữ liệu, quản lý metadata và chuyển đổi dữ liệu sang nhiều định dạng khác nhau.
  • Hữu ích cho các nhà phát triển quan tâm đến quản trị cơ sở dữ liệu và xử lý dữ liệu, đặc biệt phù hợp với các dự án làm việc với nhiều nguồn dữ liệu khác nhau.
  • Các công cụ có tính năng tương tự gồm jq, pandas, Apache Drill.

2 bình luận

 
xguru 2024-10-08

SQ - dao đa năng cho dữ liệu

Đã được giới thiệu cách đây ba năm rưỡi, và trong thời gian đó đã có thêm rất nhiều tính năng.

 
GN⁺ 2024-10-07
Ý kiến Hacker News
  • Tôi nghĩ ngôn ngữ truy vấn của JQ không đặc biệt hấp dẫn. Tôi không hiểu vì sao lại chọn ngôn ngữ kiểu giống XPATH của JQ khi truy vấn cơ sở dữ liệu
  • Tôi tự hỏi liệu có công cụ nào nhận đầu vào JSON và cho phép truy vấn bằng cú pháp SQL hay không. Điều này có lẽ sẽ hấp dẫn hơn với những người dùng lâu năm
  • Có đề xuất đóng gói Python thành một tệp thực thi đơn lẻ, rồi dùng symbolic link theo kiểu Unix cho ứng dụng và mô-đun
    • Nhiều nhà phát triển xếp yếu tố thẩm mỹ ở mức thấp nhất khi chọn công cụ. Những yếu tố khác quan trọng hơn việc đóng gói hay sự nhất quán về mặt thẩm mỹ
  • Bản demo tạo cảm giác phụ thuộc trạng thái quá nhiều. Điểm mạnh thực sự của jq là độ tin cậy và khả năng hiểu được cách nó hoạt động, còn công cụ phụ thuộc trạng thái thì thiếu những điều đó
  • Tôi không thấy có gì mà các công cụ CLI và SQL tiêu chuẩn không làm được. Học SQL tiêu chuẩn có lẽ sẽ mang lại kiến thức có thể tái sử dụng tốt hơn
  • Công cụ mới thì lúc nào cũng tốt. Dù không trở thành dòng chính, việc khám phá những cách mới để làm việc với cơ sở dữ liệu luôn là điều tích cực
  • Tôi thích sq. Nó hữu ích để làm nhanh các tác vụ đơn giản trên DB và xuất ra CSV hoặc JSON. Tuy vậy, tôi mong ngôn ngữ truy vấn của sq (SLQ) hỗ trợ so khớp chuỗi con như ... LIKE "SOME_STRING%" trong SQL. Có thể gọi SQL thủ công
  • Tôi đã đọc rằng Postgres sẽ được bổ sung khả năng xuất JSON. .wrangle | .data hoạt động trên iPhone 13 mini
  • Tôi ước là mình đã có công cụ này khi làm việc với cơ sở dữ liệu SQL
  • Sẽ tốt nếu Zeek log có hỗ trợ TSV