Wiele dużych plików CSV można znacznie skompresować za pomocą np. gzip. Czy istnieje sposób na przyspieszenie D3 na dużych plikach CSV przez zmniejszenie ilości danych, które muszą zostać przesłane przez Internet do javascript w przeglądarce. Na przykład, jeśli mam plik CSV o rozmiarze 30 MB CSM foo.csv
, który jest kompresowany do 9 MB pliku foo.csv.gz, mogę przekazać mniejszy plik i dostosować D3 do jego dekompresji przed wykonaniem reszty przetwarzania d3.csv
.Jakikolwiek sposób przyspieszyć d3.csv na dużych plikach?
6
A
Odpowiedz
1
Nie. D3 nie zapewnia żadnej funkcji do obsługi skompresowanych plików. Można użyć biblioteki innej firmy, takiej jak JSZip, ale wtedy nie będzie można bezpośrednio korzystać z d3.csv
.
Powiązane problemy
- 1. sed - usuń cytaty w cudzysłowach w dużych plikach CSV
- 2. ładowanie danych csv d3
- 3. Poszukiwania w dużych plikach z ifstream
- 4. Java: zastąpienie regex w dużych plikach
- 5. Tworzenie szybkich i wydajnych zapisów strumieniowych na dużych, rzadkich plikach
- 6. Konwertowanie metody d3.csv do metody d3.csv.parse
- 7. IDataReader - Jakikolwiek sposób na uzyskanie całkowitych wierszy?
- 8. Jakikolwiek sposób na uzyskanie nazwy użytkownika iPhone'a?
- 9. Wykonywanie SQL na plikach CSV za pośrednictwem JDBC
- 10. Błąd kończący przecinek Excel w plikach CSV
- 11. d3 - odczyt danych JSON zamiast pliku CSV
- 12. CSV do tablicy w d3.js
- 13. Jakikolwiek sposób na wprowadzanie wartości do mniejszych plików w Meteorze?
- 14. D3: Zamienianie d3.svg.diagonal() na d3.svg.line()
- 15. Najlepsza strategia przetwarzania dużych plików CSV w Apache Camel
- 16. Jakikolwiek sposób na "otwórz Seq" lub podobny efekt?
- 17. Jakikolwiek sposób na wykonanie kodu DS z kasety?
- 18. haskell - jakikolwiek sposób na zrolowanie swojej własnej grupy pragmatów językowych?
- 19. Aplikacja Facebook: jakikolwiek sposób na uruchomienie aplikacji bez SSL?
- 20. Jakikolwiek sposób na obsługę/shim formularza formularza przycisku w IE10?
- 21. Jakikolwiek sposób modyfikowania szpiegów Jasmine na podstawie argumentów?
- 22. ActiveRecord :: Powiązanie, jakikolwiek sposób na usunięcie istniejącego limitu i przesunięcia?
- 23. Jakikolwiek sposób przekształcić styl bloku/CSS na wbudowany styl CSS?
- 24. Jakikolwiek sposób na odwzorowanie enkodera etykiet w pandach Pythona?
- 25. Jakikolwiek sposób na zachowanie zmiennych instancji między testami phpunit?
- 26. Jakikolwiek sposób na ponowne użycie powiązań w WPF?
- 27. Jakikolwiek sposób na dostęp do funkcji zainstalowanej przez makeActiveBinding?
- 28. Jakikolwiek sposób dostosować etykietę "Sukces" na stronie "Projekty"?
- 29. Jakikolwiek sposób odgadnięcia typu MIME na Delphi XE2?
- 30. Jakikolwiek sposób na dalszą optymalizację inwokacji metody odblaskowej Java?
Spojrzałem na JSZipa. Jeden komentarz na http://www.picurl.org/blog/2009/11/22/creating-zip-archives-with-gears/ był taki, że "JSZip nie wykonuje żadnej kompresji, po prostu łączy ciąg danych i dodaje trochę informacji o organizacji plików ", więc domyślam się, że sugerowane przez ciebie podejście to gzip pliku csv, użycie JSZip do komunikacji, a następnie wprowadzenie drobnych zmian do pliku d3.js. Czy to prawda? Czy ktoś kiedykolwiek to zrobił? Nie mogę znaleźć niczego w Internecie. Czy to naprawdę możliwe? – user2367434
Nie trzeba zmieniać D3. Najpierw otrzymujesz dane za pomocą AJAX lub coś podobnego, a następnie dekompresujesz je, a następnie przekazujesz do funkcji D3, która je analizuje. Nie wiem, czy ktoś próbował tego, ale powinno być możliwe. Lepszym i łatwiejszym rozwiązaniem byłoby jednak po prostu włączyć kompresję na serwerze, aby komunikacja z klientem była kompresowana automatycznie i przejrzyście. –