2014-06-26 44 views
5

Idc ve crossfilter js üzerinde çalışıyoruz ve şu anda 550,000 satır ve boyut 60mb csv ile büyük bir veri kümesi varsa ve tarayıcı gibi onunla konularda bir sürü karşı karşıyayım ile crossfilter Yani vbDC ve büyük veri setleri

çöküyor Dc ve crossfilter'ın büyük veri kümeleriyle nasıl çalıştığını anlamaya çalışıyorum.

Projem belleğini kaplıyor zamanla azalır yavaşça http://dc-js.github.io/dc.js/

ana sitesinde örnek rahat bir şekilde çalışır ve (konsolda) timelines-> hafızayı gördükten sonra 34 mb maksimum gider ve bir json dosyasını yükler ve tüm görselleştirme hale açılan liste seçiminde başına 300-500mb aralığı

Yani, 2 soru

  • dC sitesi örneğin arka uç nedir

    ? Tam arka plan dosyasını bulmak mümkün mü?
  • RAM'ımdaki veri yükünü, çok yavaş çalışan ve sonuçta çökmekte olan uygulamamdan nasıl azaltabilirim?
+0

Bir örnek paylaşır mısınız? Oldukça büyük miktarda veriden bahsediyorsunuz, ancak yönetilebilir olanın kapsamı dışında kalıyor. –

cevap

2

Merhaba, verileri yüklemeyi çalıştırmayı ve sunucuda filtrelemeyi deneyebilirsiniz. Veri kümemin boyutu tarayıcının işlemek için çok büyük olduğu zaman benzer bir sorunla karşılaştım. Birkaç hafta önce aynı uygulamayı uygulamak için bir soru gönderdim. Using dc.js on the clientside with crossfilter on the server

İşte bu konu hakkında genel bir bakış.

İstemci tarafında, sahte boyutlar ve dc.js'nin beklediği temel işlevlere sahip sahte gruplar oluşturmak istersiniz (https://github.com/dc-js/dc.js/wiki/FAQ#filter-the-data-before-its-charted). İstemci tarafında dc.js grafiklerinizi oluşturursunuz ve gerekli yerlerde sahte boyutları ve grupları bağlarsınız.

Artık sunucu tarafında çapraz filtreli çalışıyorsunuz (https://www.npmjs.org/package/crossfilter). Gerçek boyutlarınızı ve gruplarınızı burada yaratırsınız.

Fakedimensions, gerçek filtrelemeyi gerçekleştirmek için sunucuya temel olarak ajax isteği gönderen bir .filter() işlevine sahiptir. Filtreleme bilgisi bir sorgu dizisi şeklinde kodlanabilir. Ayrıca, filtreleme sonuçlarını döndürmek için sahte grubunuzda bir .all() işlevine de gereksiniminiz olacaktır.

+1

Bu fikir için teşekkürler, bunun nasıl uygulanacağına dair bir örnek paylaşır mısınız? Bir süredir okuyordum ama tamamen anlayamadım. –

+0

Lütfen bir örnek paylaşır mısınız? –

+1

Evet, lütfen bana bir gün ver. –

İlgili konular