W kwietniu zajmujemy się aggregacją danych. Należy zaimplementować 3–5 aggregacji. Opisy agregacji należy dopisać do swoich plików.
Do aggregacji można wykorzystać kolekcje:
- census1881
- zipcodes, przykładowe agregacje
- kody_pocztowe (D. Sawa)
- imieniny, przykładowe agregacje
- ceny (Ł. Wasak)
- car_market (M. Stanik)
- poland – Open Street Data dla Polski
- ukgov (P. Jażdżewski)
- airports (B. Bedra)
Te kolekcje zostały zaimportowane do bazy MongoDB działającej na mojej maszynie wirtualnej na UG.
Do bazy logujemy się w ten sposób:
mongo --username student --password sesja2013 153.19.1.202/test
Na rozgrzewkę powinniśmy wykonać kilka poleceń, przykładowo:
db.census1881.count() // 4_277_807 rekordów
db.zipcodes.count() // 29_467
db.kody_pocztowe.count() // 140_076
db.imieniny.count() // 364
db.census1881.findOne()
// {
// "_id": ObjectId("51630b8b31f30759f2f32061"),
// "last": "richard",
// "first": "joseph",
// "age": 40,
// "religion": "catholic"
// }
Uwaga: Użytkownik student ma uprawnienia tylko do odczytu w bazie test.
- Włodzimierz Bzyl, Imieniny, Open Street Map Data dla Polski, GeoBytes – państwa i miasta.
- Michał Mroczkowski, Kody pocztowe sejmometr.
- Marcin Głombiowski, Kody pocztowe sejmometr.
- Pawel Kaminski, Sacramento crimes.
- Marcin Gigołło, Kody pocztowe.
- Daniel Szymczak, Wskaźniki wydajności.
- Alicja Kopczyńska, Lista bazylik na świecie.
- Michał Frankowski, Natura 2000.
- Dorian Sawa, Kody pocztowe.
- Jakub Ciechowski Najbardziej pracowici.
- Patryk Jażdżewski, Wydatki Home Office w 2010.
- Paweł Śląski, Dane historyczne notowań WIG20.
- Aneta Budner, Adresy IP.
- Ryszard Madejski, Powierzchnia lasów i użytków rolnych.
- Adam Radomski, Kody pocztowe.
- Jan Mudry, Lista UNESCO w Europie Wschodniej.
- Andrzej Thiel, Spis ludności.
- Bartłomiej Bedra, Lista lotnisk na świecie.
- Jakub Martin, Lista lotów programu Apollo.
- Urszula Sawicka, Produkty dostawców korzystających z Vend.
- Maciej Stanik, Rynek nowych samochodów osobowych w USA w 2000 roku.
- Łukasz Wasak, Ceny Towarów w Polsce.
- Damian Wieliczko, Budownictwo mieszkaniowe.
- Jan Pawlukiewicz, Pomniki przyrody w Raciborzu.
- Damian Szafranek, Przeciętne miesięczne wynagrodzenia brutto.
- Adrian Szulc, Ilość pomieszczeń szkolnych w szkołach podstawowych.
- Daniel Landowski, Kody pocztowe wg powiatów dla województwa pomorskiego.
- Dawid Wiśniewski, Statystyki meczowe angielskiej Premier League sezonu 05/06.
- Adam Grabowski, Statystyki NBA 2012/2013.
- Przemysław Jakuła, GeoNames - country, state, region, city, village, road, railroad.
- Adam Dąbrowski, [Czołgi II wojny światowej] (/docs/ww2tanks.md).
- Mateusz Skorb, [Monety okolicznościowe 2 złote] (/docs/mskorb.md).
- Michał Chołka, [Bezrobotni] (docs/mcholka.md).
- Wojciech Szymański, [Wypadki drogowe] (docs/wszymanski.md).
- Adam Szuliński, [Agregacje] (docs/aszulinski.md).
- Maciej Młynarski, [Zawodnicy UFC] (docs/mmlynarski.md).
- Scott Chacon, Pro Git; niekompletne tłumaczenie na język polski.
Dwa sposoby radzenia sobie z taką sytuacją: This pull request can be automatically merged.
Sposób 1:
git remote add pjz90 git://github.com/pjz90/data-refine.git
git fetch pjz90
git merge pjz90/master
.. edycja .. rozwiązywanie konfliktów
git remote rm pjz90
Sposób 2 (sugerowany przez GitHub Team):
git checkout -b bbedra-master master
git pull git://github.com/bbedra/data-refine.git master
git checkout master
git merge bbedra-master
git push origin master
git branch -d bedra-master
Undo różnych rzeczy:
git reset --merge # merge
git reset --hard ORIG_HEAD # rebase
Another common practice is to rebase the last few commits in your current branch
Interactive rebase on GitHub
Jak zmniejszyć liczbę commitów, zmienić ich kolejność i przeredagować wpisy log:
git checkout issue16 # o ile commity są na tej gałęzi
git log --pretty=oneline HEAD~6..HEAD # sprawdzamy które commity będziemy zmieniać
git rebase -i HEAD~6 # poprawiamy ostatnich 6 commitów
.. edycja ..
.... edit -- jeśli chcemy poprawić ten commit lub coś do niego dodać
........ git reset HEAD^ # rollback the last commit
........ git status
........ git add --patch # lub dodajemy/edytujemy pliki
........
........ git rebase --contiune
.... reword -- poprawiamy tekst wpisu do log
git log --pretty=oneline
git rebase master # o ile jesteśmy na gałęzi issue16
git checkout master
git merge issue16
git branch -d issue16 # możemy usunąć scaloną gałąź
Na stronie manuala gitrevisions jest opisane znaczenie:
HEAD^
, ^HEAD
, HEAD~n
.
Stashing:
git stash
git stash list
git stash apply stash@{0} # przykłady
git stash drop stash@{0}
Zobacz też:
- Mark Dominus, My Git Habits
- Bert Belder, Checkout github pull requests locally
- Chris Wanstrath, hub makes git better with GitHub
- Scott Chacon, 6.4 Git Tools - Rewriting History