DuckDB, yeni jq olarak öne çıkıyor
- DuckDB projesi, veri uygulamaları için SQLite benzeri bir veritabanıdır ve ek bağımlılıklar olmadan çeşitli veri biçimlerini içe aktarabilme özelliği içerir.
- JSON dosyalarını doğrudan veritabanı tabloları olarak okuyup ayrıştırabilir; bu durum birçok başka biçim için de geçerlidir.
- JSON ile çalışırken çoğunlukla
jq kullanılsa da, karmaşık jq sözdizimi yerine SQL’e aşina olunduğu için DuckDB kullanmak daha pratiktir.
- Örneğin GitHub API kullanılarak golang organizasyonunun depo bilgileri JSON olarak alınabilir ve ardından açık kaynak lisans türlerine ilişkin istatistikler SQL ile kolayca çıkarılabilir.
- DuckDB ile SQL sorguları yazmak, belgelere bakmadan da kolaydır ve PostgreSQL JSON işlevlerine benzer bir sözdizimi kullanır.
- DuckDB, JSON çıktısını da destekler; gerekirse sonuçları daha düzgün göstermek için
jq kullanılabilir.
- DuckDB yalnızca JSON değil, CSV, parquet, Excel dosyaları gibi çeşitli veri biçimlerini de içe aktarabilir.
- Veriyi kalıcı olarak saklamak gerekmiyorsa tablo oluşturmadan da veri sorgulanabilir.
- DuckDB, yalnızca yerel dosyalardan değil, URL’lerden de doğrudan JSON okuyabilir.
GN⁺ görüşü
- DuckDB, veri analiziyle ilgili işleri sık yapan kullanıcılar için ilgi çekici bir araç olabilir. Özellikle SQL’e aşina olanlar için JSON verisini kolayca işleyebilen güçlü bir alternatif sunar.
- DuckDB’nin JSON verisini doğrudan okuyabilmesi, veri ön işleme sürecini basitleştirir ve veri hattı kurarken ayrı veri dönüştürme adımlarını azaltma avantajı sağlar.
- DuckDB kullanımı yaygınlaştıkça, veri analizi ve işleme için kullanılan mevcut karmaşık araçlara kıyasla öğrenme eğrisini düşürüp üretkenliği artırabilir.
- Ancak DuckDB henüz yaygın olarak bilinmiyorsa veya topluluk desteği yeterli değilse, kullanıcıların sorunla karşılaştıklarında çözüm bulması zor olabilir.
- DuckDB’ye benzer işlevler sunan diğer açık kaynak projeler arasında Apache Drill ve PrestoDB bulunur; bunlar da büyük veri kümeleri üzerinde SQL sorgularını destekler.
1 yorum
Hacker News görüşleri
jq ve temel shell araçlarının birleşimi
curl ... | jq '.[].license.key' | sort | uniq -cile kolayca yapılabiliyor.Babashka ve Clojure
ClickHouse local CLI
jq, DuckDB ve SQL kullanımı
Google Sheets sorguları
SQLite veritabanıyla yapılandırılmış loglama
Benthos
Nushell
pq (prql-query)
JSON ve programlama dillerinin kullanımı