Ubuntu Suomen keskustelualueet
Muut alueet => Yleistä keskustelua => Aiheen aloitti: kamara - 04.04.23 - klo:19.19
-
Tartteisin suurehkoja csv-tiedostoja.
Tällä hetkellä omani csv-tiedoston maksimikoko on n. 1 Gt ja vajaa 6000000-riviä, mutta haluaisin testata suuremmalla tiedostolla. Mistähän sellaisia löytäisi ?
En haluaisin teennäisesti kasvattaa tiedoston kokoa kopioimalla tiedostoja yhteen, jolloin siis tiedoston kooksi saisin kaksinkertaisen.
-
https://community.cloudera.com/t5/Support-Questions/i-need-more-than-1gb-csv-file-could-anybody-help-me-where/td-p/142763
-
Ei oikein aukea ummikolle. :'(
-
Jakke77:n antaman linkin takaa löytyy tilastoja lentojen lähtö- ja saapumisajoista USA:ssa.
Suomessa Finavia näköjään tarjoaa ladattavaksi Excel-muotoisia tieodstoja. Isoja datamääriä käsittelevät ainakin Tilastokeskus ja Ilmatieteen laitos.
-
Tekoälyn vastaus;
Suurehkoja CSV-tiedostoja voi löytää esimerkiksi avoimista datajoukoista, jotka ovat saatavilla esimerkiksi valtioiden, kaupunkien tai tutkimuslaitosten sivustoilta. Esimerkiksi Yhdysvaltain hallituksen avoimien tietojen sivusto (data.gov) sisältää suuren määrän CSV-tiedostoja eri aihealueilta.
Voit myös etsiä erilaisia avoimia datajoukkoja esimerkiksi Googlella käyttämällä hakusanoja "open data" tai "data repository". Monet yliopistot ja tutkimuslaitokset tarjoavat myös erilaisia avoimia datajoukkoja.
Jos haluat testata tiedostonkäsittelytoimintojasi erittäin suurella tiedostolla, voit myös luoda sellaisen itse käyttämällä esimerkiksi Pythonin tai R:n avulla luotuja työkaluja, jotka generoivat satunnaisia tietoja CSV-muodossa. Tämä voi olla hyödyllistä myös siksi, että saat itse päättää tiedoston sisällöstä ja rakenteesta.
-
Tartteisin suurehkoja csv-tiedostoja.
Tällä hetkellä omani csv-tiedoston maksimikoko on n. 1 Gt ja vajaa 6000000-riviä, mutta haluaisin testata suuremmalla tiedostolla. Mistähän sellaisia löytäisi ?
En haluaisin teennäisesti kasvattaa tiedoston kokoa kopioimalla tiedostoja yhteen, jolloin siis tiedoston kooksi saisin kaksinkertaisen.
Mitä tarkalleen ottaen ole testaamassa? Eikö sillä siis ole mitän merkitystä montako kenttää per rivi on tieto CSV rivissä ?
-
Tartteisin suurehkoja csv-tiedostoja.
Tällä hetkellä omani csv-tiedoston maksimikoko on n. 1 Gt ja vajaa 6000000-riviä, mutta haluaisin testata suuremmalla tiedostolla. Mistähän sellaisia löytäisi ?
En haluaisin teennäisesti kasvattaa tiedoston kokoa kopioimalla tiedostoja yhteen, jolloin siis tiedoston kooksi saisin kaksinkertaisen.
Mitä tarkalleen ottaen ole testaamassa? Eikö sillä siis ole mitän merkitystä montako kenttää per rivi on tieto CSV rivissä ?
No, jos kenttien määrä alkaa ylitellä yli 50:n, niin ohjelmani alkaa olla ongelmissa. Sen lisäksi toivoisin, että jokaisessa rivissä olisi sama määrä delimetereitä (erottimia/sarkaimia).
Tosin nyt näyttää siltä, että koodini on varsin etana, kun tuota 1 Gt:n csv-tiedostoa on rouskuttanut yli 1000 minuuttia, joten en taida viitsiä laittaa rouskuttamaan tämän suuremmilla tiedostoilla eli optimointia tarvitaan.
-
Tartteisin suurehkoja csv-tiedostoja.
Tällä hetkellä omani csv-tiedoston maksimikoko on n. 1 Gt ja vajaa 6000000-riviä, mutta haluaisin testata suuremmalla tiedostolla. Mistähän sellaisia löytäisi ?
En haluaisin teennäisesti kasvattaa tiedoston kokoa kopioimalla tiedostoja yhteen, jolloin siis tiedoston kooksi saisin kaksinkertaisen.
Jos tarkoitus on vain saada jotain csv-dataa niin olisi ajatus luoda sitä ihan randomina toimiva? Jos dataa ottaisi esim. /dev/rand tms. lähteestä ja ulostaisi csv:nä niin saisit muutaman rivin scriptistä csv-tietoa niin monta riviä, kuin ikinä haluat?
-
Tartteisin suurehkoja csv-tiedostoja.
Tällä hetkellä omani csv-tiedoston maksimikoko on n. 1 Gt ja vajaa 6000000-riviä, mutta haluaisin testata suuremmalla tiedostolla. Mistähän sellaisia löytäisi ?
En haluaisin teennäisesti kasvattaa tiedoston kokoa kopioimalla tiedostoja yhteen, jolloin siis tiedoston kooksi saisin kaksinkertaisen.
Mitä tarkalleen ottaen ole testaamassa? Eikö sillä siis ole mitän merkitystä montako kenttää per rivi on tieto CSV rivissä ?
No, jos kenttien määrä alkaa ylitellä yli 50:n, niin ohjelmani alkaa olla ongelmissa. Sen lisäksi toivoisin, että jokaisessa rivissä olisi sama määrä delimetereitä (erottimia/sarkaimia).
Tosin nyt näyttää siltä, että koodini on varsin etana, kun tuota 1 Gt:n csv-tiedostoa on rouskuttanut yli 1000 minuuttia, joten en taida viitsiä laittaa rouskuttamaan tämän suuremmilla tiedostoilla eli optimointia tarvitaan.
Pistä koodit näkyviin niin tutkitaan missä mahdollisesti kestää ja miten voi parantaa..
-
Pistä koodit näkyviin niin tutkitaan missä mahdollisesti kestää ja miten voi parantaa..
En vielä ole keksinyt sopivaa lisenssiä, joten ennen sitä en lähetä ainakaan koko koodia. Lisäksi Tiedän, mikä ohjelmani tekee hitaaksi, ja jopa osaisin hivenen optimoidakin nopeuden ja muistinkäytön suhteen, mutta toistaiseksi keskityn ominaisuuksien tekemiseen, ja jätän optimoinnit myöhemmäksi.
Tosiaan Ryzenini kyykkää pahasti, koska konffi-tiedostoni aika on maksimissaan exponenttiaalista aikaluokkaa ja csv-tiedoston läpikäyminen on polynomi-luokkaa. Molempia saisi alaspäin, mutta ainakaan vielä ei ole sen aika.
Muistiakin ohjelmani kuluttaa useamman Gigan, vaikka pituutta ohjelmallani olekaan kovin paljoa.
Nopeutta helpoiten saisi kasvatettua säikeistämällä lisää, mutta niistähän ei irtoa kuin muutaman kertaluokkaa, mutta kyllähän 12h:n putoaminen 4h:n olisi ihan merkittävä pudotus. Sen saattaisin saada tehdyksi pelkällä säikeistämällä, jos sen onnistuisi tekemään optimaaliisesti.
Toisaalta nopeutta saa helpoiten lisättyä aineistoa pienentämällä, mutta pitäähän sitä saada koodi toimimaan suurellakin aineistolla.
-
Pistä koodit näkyviin niin tutkitaan missä mahdollisesti kestää ja miten voi parantaa..
En vielä ole keksinyt sopivaa lisenssiä, joten ennen sitä en lähetä ainakaan koko koodia. Lisäksi Tiedän, mikä ohjelmani tekee hitaaksi, ja jopa osaisin hivenen optimoidakin nopeuden ja muistinkäytön suhteen, mutta toistaiseksi keskityn ominaisuuksien tekemiseen, ja jätän optimoinnit myöhemmäksi.
Tosiaan Ryzenini kyykkää pahasti, koska konffi-tiedostoni aika on maksimissaan exponenttiaalista aikaluokkaa ja csv-tiedoston läpikäyminen on polynomi-luokkaa. Molempia saisi alaspäin, mutta ainakaan vielä ei ole sen aika.
Muistiakin ohjelmani kuluttaa useamman Gigan, vaikka pituutta ohjelmallani olekaan kovin paljoa.
Nopeutta helpoiten saisi kasvatettua säikeistämällä lisää, mutta niistähän ei irtoa kuin muutaman kertaluokkaa, mutta kyllähän 12h:n putoaminen 4h:n olisi ihan merkittävä pudotus. Sen saattaisin saada tehdyksi pelkällä säikeistämällä, jos sen onnistuisi tekemään optimaaliisesti.
Toisaalta nopeutta saa helpoiten lisättyä aineistoa pienentämällä, mutta pitäähän sitä saada koodi toimimaan suurellakin aineistolla.
Mielenkiintoista. Mitä siis tehdään yhdelle CSV riville kun käsittely kestää noinkin kauan?