ืืื ืืึธืื ืืืจ ืคึฟืื ืคึผืขืจืืขื ืืขื ืืขืจืคืึทืจืื ื ืืืึธืก ืืื ื ืืฆืืง ืืื ืืื ืืืขื. ืขืก ืืื ืึทื ืืืืขืจืืืืง ืืื ืืขืืืก, ืึทืืื ืึทื ืขืก ืืื ืงืืึธืจ ืืืึธืก ืืื ืืื ืืืจ ืงืขื ืขื ืืจืึธืื ืืืืึทืืขืจ - ืึธืืขืจ ืืึธ ืืื ืืึธืื ืืืืกืฉืืืกืืขื ืกืึทืืืืฉืขืงืืืื ืคึผืขืจืืขื ืืขื ืืขืจืคืึทืจืื ื, ืืึธืืขืจ ืึทืืฅ ืืื ืืึธืจ ืึทื ืืขืจืฉ ืคึฟืึทืจ ืืืจ.
ืคืืจืืืืก ืืื ืขืก ืืืืืืืง ืฆื ืืืืกื ืืื ืงืขื ืขื ืฆื ื ืืฆื ืึธื ืคึฟืจืขื ืฉืคึผืจืึทืื? ืืื ืืืื ืืึทืจืฅ, Data Science ืืื ืขืืืขืืข ืืืืืืืง ืกืืึทืืขืก ืคืื ืึทืจืืขื, ืืื ืืขืจ ืขืจืฉืืขืจ ืืื ืืขืจืกื ืืืืืืืง (ืึธื ืขืก, ืึทืืืึทืืข ืืึธืจื ืืฉื ืืืขื ืึทืจืืขืื!) ืืื ืืืงืืืขื ืึธืืขืจ ืขืงืกืืจืึทืงื ืืึทืื. ืจืืึฟ ืึธืคื, ืื ืืึทืื ืืืฆื ืขืจืืขืฅ ืืื ืขืืืขืืข ืคืึธืจืขื ืืื ืืึทืจืฃ ืืืื "ืจืืืจืืืื" ืคึฟืื ืืึธืจื.
ืึธื ืคึฟืจืขื ืฉืคึผืจืึทืื ืืึธืื ืืืจ ืฆื ืขืงืกืืจืึทืงื ืื ืืืืขืจ ืืึทืื! ืืื ืืืึทื ื ืืื ืืืขื ืืึธืื ืืืจ ืืืขืื ืื ืึธื ืคึฟืจืขื ืฉืคึผืจืึทืื ืืืึธืก ืืึธืื ืืขืืืขื ื ืืฆืืง ืคึฟืึทืจ ืืืจ ืืื ืืื ืืืขื ืืึธืื ืืืจ ืืื ืืืืึทืื ืืืจ ืืื ืืื ืืื ืคึผืื ืงื - ืืืึธืก ืขืก ืืื ืืืจืฃ ืฆื ืืขืจื ืขื.
ืขืก ืืืขื ืืืื ืืจืื ืืืืคึผื ืืืึทืงืก ืคืื ืืึทืื ืึธื ืคึฟืจืขื ืืืืคึผืก, ืืืึธืก ืืืจ ืืืขืื ืืืกืงืืืืจื ืืื ืืขื ืึทืจืืืงื:
- "ืกืืึทื ืืึทืจื" ืึธื ืคึฟืจืขื ืฉืคึผืจืึทืื ืืขื ืขื ืืืึธืก ืืื ืึธืคื ืคืืจืฉืืื ืขื ืืืขื ืืขื ืจืขืื ืืืขืื ืึท ืึธื ืคึฟืจืขื ืฉืคึผืจืึทื, ืึทืืึท ืืื ืจืืืืืฉืึทื ืึทื ืึทืืืขืืจืึท ืึธืืขืจ ืกืงื.
- ืกืงืจืืคึผืืื ื ืึธื ืคึฟืจืขื ืฉืคึผืจืึทืื: ืคึฟืึทืจ ืืืึทืฉืคึผืื, Python ืืื ืื ืคึผืึทื ืืึทืก, ื ืึทืืคึผื ืึธืืขืจ ืฉืึธื ืกืงืจืืคึผืืื ื.
- ืึธื ืคึฟืจืขื ืฉืคึผืจืึทืื ืคึฟืึทืจ ืืืืกื ืืจืึทืคืก ืืื ืืจืึทืคืืง ืืึทืืึทืืืืกืื.
ืึทืืฅ ืืขืฉืจืืื ืืึธ ืืื ื ืึธืจ ืึท ืคืขืจืืขื ืืขืืข ืืขืจืคืึทืจืื ื, ืืืึธืก ืืื ื ืืฆืืขื, ืืื ืึท ืืึทืฉืจืืึทืืื ื ืคืื ืกืืืืึทืืืึธื ืก ืืื "ืืืึธืก ืขืก ืืื ืืืจืฃ" - ืึทืืขืืขื ืงืขื ืขื ืคึผืจืืืืจื ืืื ืขื ืืขื ืกืืืืึทืืืึธื ืก ืงืขื ืขื ืงืืืขื ืืืื ืืืขื ืืื ืคึผืจืืืืจื ืฆื ืฆืืืจืืืื ืคึฟืึทืจ ืืื ืืื ืฉืืืึทืื ืืืจื ืคึฟืึทืจืฉืืืื ืื ืฉืคึผืจืึทืื ืืืืืขืจ ืืืจ ืืึธืื ืฆื ืฆืืืืืื (ืขืจืืืฉืึทื ืืื) ืืืืฃ ืึท ืคึผืจืืืขืงื ืึธืืขืจ ืืคืืื ืืึทืงืืืขื ืฆื ืึท ืคึผืจืืืขืงื ืืื ืืื ืืขื ืขื ืืืจืฃ.
"ืกืืึทื ืืึทืจื" ืึธื ืคึฟืจืขื ืฉืคึผืจืึทืื
ื ืึธืจืืึทื ืึธื ืคึฟืจืขื ืฉืคึผืจืึทืื ืืขื ืขื ืคึผืื ืงื ืืื ืืขื ืืื ืขื ืึทื ืืืจ ืืืืฉืึทืืืึทืื ืืจืึทืืื ืืืขืื ืืื ืืืขื ืืืจ ืจืขืื ืืืขืื ืคึฟืจืืื.
ืจืืืืืฉืึทื ืึทื ืึทืืืขืืจืึท
ืคืืจืืืืก ืืื ืจืืืืืฉืึทื ืึทื ืึทืืืขืืจืึท ืืืจืฃ ืืืึทื ื? ืึผืื ืฆื ืืึธืื ืึท ืืืืข ืคืืจืฉืืื ื ืคืื ืืืึธืก ืึธื ืคึฟืจืขื ืฉืคึผืจืึทืื ืืขื ืขื ืกืืจืึทืงืืฉืขืจื ืืื ืึท ืืืืขืจ ืืืขื ืืื ื ืืฆื ืืื ืงืึทื ืฉืึทืกืื, ืืืจ ืืึทืจืคึฟื ืฆื ืคึฟืึทืจืฉืืืื ืื ืืึทืจืฅ ืคืื ืืื.
ืืืึธืก ืืื ืจืืืืืฉืึทื ืึทื ืึทืืืขืืจืึท?
ืื ืคืึธืจืืึทื ืืขืคึฟืื ืืฆืืข ืืื ืืื ืืืื: ืจืืืืืฉืึทื ืึทื ืึทืืืขืืจืึท ืืื ืึท ืคืืจืืืื ืกืืกืืขื ืคืื ืึทืคึผืขืจืืืฉืึทื ื ืืืืฃ ืืึทืฆืืื ืืขื ืืื ืึท ืจืืืืืฉืึทื ืึทื ืืึทืื ืืึธืืขื. ืฆื ืืืืื ืขืก ืึท ืืืกื ืืขืจ ืืขื ืืฉืื, ืืึธืก ืืื ืึท ืกืืกืืขื ืคืื ืึทืคึผืขืจืืืฉืึทื ื ืืืืฃ ืืืฉื ืึทืืื ืึทื ืืขืจ ืจืขืืืืืึทื ืืื ืฉืืขื ืืืง ืึท ืืืฉ.
ืืขื ืึทืืข ืจืืืืืฉืึทื ืึทื ืึทืคึผืขืจืืืฉืึทื ื ืืื
ืคืืจืืืืก?
ืึธื ืืืื ืฆื ืคึฟืึทืจืฉืืืื ืืืึธืก ืึธื ืคึฟืจืขื ืฉืคึผืจืึทืื ืืขื ืขื ืึทืืข ืืืขืื ืืื ืืืึธืก ืึทืคึผืขืจืืืฉืึทื ื ืืขื ืขื ืืื ืืขืจ ืืืืกืืจืืงื ืืื ืกืคึผืขืฆืืคืืฉ ืึธื ืคึฟืจืขื ืฉืคึผืจืึทืื ืึธืคื ืืื ืึท ืืืคึผืขืจ ืคืืจืฉืืื ื ืคืื ืืืึธืก ืึทืจืืขื ืืื ืึธื ืคึฟืจืขื ืฉืคึผืจืึทืื ืืื ืืื.
ืืขื ืืืขื ืคืื
ืืึทืืขืจืืึทืืก ืคึฟืึทืจ ืืขืจื ืขื:
ืกืงื
ืืขื ืืืขื ืคืื
SQL ืืื ืืืืกืืงืื ืึทื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืจืืืืืฉืึทื ืึทื ืึทืืืขืืจืึท - ืืื ืึท ืืืืืืืง ืงืืืืืืึทื, SQL ืืื ืืขืงืืึทืจืึทืืืืืข! ืืึธืก ืืืืกื, ืืืขื ืืืจ ืฉืจืืืื ืึท ืึธื ืคึฟืจืขื ืืื ืืขืจ ืฉืคึผืจืึทื ืคืื ืจืืืืืฉืึทื ืึทื ืึทืืืขืืจืึท, ืืืจ ืืึทืงืข ืืึธืื ืืื ืฆื ืจืขืืขื ืขื - ืึธืืขืจ ืืื SQL ืืืจ ืกืคึผืขืฆืืคืืฆืืจื ืืืึธืก ืืืจ ืืืืื ืฆื ืขืงืกืืจืึทืงื, ืืื ืืึทื ืื DBMS ืืืฉืขื ืขืจืืืฅ ืฉืืื (ืขืคืขืงืืืื) ืืืืกืืจืืงื ืืื ืื ืฉืคึผืจืึทื ืคืื ืจืืืืืฉืึทื ืึทื ืึทืืืขืืจืึท (ืืืืขืจ) ืขืงืืืืืืึทืืึทื ืก ืืื ืืืงืื ื ืฆื ืืื ืื ืืื
ืืขื ืืืขื ืคืื
ืคืืจืืืืก?
ืจืืืืืฉืึทื ืึทื DBMSs: Oracle, Postgres, SQL Server, ืขืืง ืืขื ืขื ื ืึธื ืืืขื ืืืืขืืื ืืื ืขืก ืืื ืึทื ืื ืงืจืขืืึทืืื ืืืื ืืขืืขืื ืืืึทื ืึทื ืืืจ ืืืขื ืืึธืื ืฆื ืื ืืขืจืึทืงื ืืื ืืื, ืืืึธืก ืืืื ืืืจ ืืืขื ืืึธืื ืฆื ืืืืขื ืขื SQL (ืืืึธืก ืืื ืืืืขืจ ืืกืชึผืื) ืึธืืขืจ ืฉืจืืึทืื ืขืก ( ืืืื ื ืืฉื ืึทื ืืืืงืื).
ืืืึธืก ืฆื ืืืืขื ืขื ืืื ืืขืจื ืขื
ืืืื ืื ืืขืืืข ืืื ืงืก ืืืืื (ืืืขืื ืจืืืืืฉืึทื ืึทื ืึทืืืขืืจืึท), ืขืก ืืื ืึทื ืืืืืื ืกืืืข ืคืื โโืืึทืืขืจืืึทื, ืืืฉื,
ืืืจื ืืขื ืืืขื, ืืืึธืก ืืื NoSQL?
"ืขืก ืืื ืืืขืจื ืืืืืขืจ ืฆื ืื ืืขืจืฉืืจืืึทืื ืึทื ืืขืจ ืืขืจืืื "NoSQL" ืืื ืึท ืืขืืึทืืจืข ืกืคึผืึทื ืืืื ืืึทืก ืึธืจืืืื ืืื ืืื ืงืืื ืืืื ืื ืืขื ืืืขื ืืขืคึฟืื ืืฆืืข ืึธืืขืจ ืืืืกื ืฉืืคืืืขืืข ืื ืกืืืืืฉืึทื ืืื ืืขืจ ืขืก." ืงืึธืจืึทืกืคึผืึทื ืืื ื
ืืื ืคืึทืงื, ืืขื ืืฉื ืืึธืื ืืืื ืืขืืขื ืึทื ืึท ืคืื ืจืืืืืฉืึทื ืึทื ืืึธืืขื ืืื ื ืื ืืืจืฃ ืฆื ืกืึธืืืืข ืคืืืข ืคืจืืืืขืืขื, ืกืคึผืขืฆืืขื ืคึฟืึทืจ ืืขื ืข ืืื, ืืืฉื, ืคืึธืจืฉืืขืืื ื ืืื ืงืจืืืืฉ ืืื ืืืืขืจ ืคึผืฉืื ืคึฟืจืืื ืืื ืึทืืืจืขืืึทืืืึธื ืืึธืืื ืืจื - ืืื ืขืก ืืื ืงืจืืืืฉ ืฆื ืืขืฉืืืื ื ืจืขืืขื ืขื ืืขืืจืืงืก ืืื ืฉืจืืึทืื ืืื ืฆื ืื ืืึทืืึทืืืืก, ืืื ืจืืึฟ ืจืืืืืฉืึทื ืึทื ืคึฟืขืึดืงืืืื ืืขื ืขื ื ืืฉื ืืืืื ืืื ืืืืืง, ืึธืืขืจ ืืืื ืฉืขืืืขื - ืืืึธืก ื ืึธืจืืึทืืืื ืขืคึผืขืก ืืืื ืขืก ืืืขื ืฆืขืืึธืื ืื ืืขืจืกื ืืืืืืืง ืืึทื ืคึฟืึทืจ ืืื ืื (ืคึฟืึทืจ ืขืืืขืืข ืกืคึผืขืฆืืคืืฉ ืึทืจืืขื) - ืคึผืจืึธืืืึทืงืืืืืืื?
ืืืื, ืคืืขืงืกืึทืืึทื ืกืืฉืขืืึทืก ืืขื ืขื ืึธืคื ืืืจืฃ ืึทื ืฉืืึธื ืคืื ืื ืคืึทืจืคืขืกืืืงื ืืึทืืึทืืึทืืืงืึทื ืกืืฉืขืืึทืก ืคืื ืื ืงืืืกืืฉืข ืจืืืืืฉืึทื ืึทื ืืึธืืขื - ืืื ืืึธืก ืื ืงืจืขืืึทืืื ืกืืืคึผืืึทืคืืื ืึทืคึผืืึทืงืืืฉืึทื ืึทื ืืืืืงืืื ื ืืืขื ืขืก ืืื ืงืจืืืืฉ ืฆื ืฆืขืืืืงืืขื ืื ืกืืกืืขื ืืื ืึธื ืืืืื ืืจืืขืื ืืขืฉืืืื ื, ืคึผืจืึทืกืขืกืื ื ืื ืจืขืืืืืึทืื - ืึธืืขืจ ืื ืกืืขืืข ืืื ืืืืคึผืก ืคืื ืกืืึธืจื ืืึทืื ืืขื ืขื ื ืืฉื ืึทืืื ืืืืืืืง.
ืฆืื ืืืืฉืคึผืื, ืืืจ ืฉืึทืคึฟื ืึทื ืขืงืกืคึผืขืจื ืกืืกืืขื ืืื ืืืืื ืฆื ืงืจืึธื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืืฃ ืึท ืกืคึผืขืฆืืคืืฉ ืคืขืื ืฆืืืึทืืขื ืืื ืขืืืขืืข ืืขืืึท ืืื ืคึฟืึธืจืืึทืฆืืข - ืืืจ ืงืขื ื ืืฉื ืืืืกื ืึทืืข ืื ืคืขืืืขืจ ืืื ื ืึธืจ ืงืจืึธื JSON ืคึฟืึทืจ ืืขืืขืจ ืจืขืงืึธืจื - ืืึธืก ืืื ืืื ืื ืึท ืืืืขืจ ืคืืขืงืกืึทืืึทื ืกืืืืืืข ืคึฟืึทืจ ืืงืกืคึผืึทื ืืื ื ืื ืืึทืื ืืึธืืขื ืืื ืืขืฉืืืื ื ืืืขืจืืืืื ื - ืึทืืื ืืื ืืขื ืคืึทื, NoSQL ืืืขื ืืืื ืืคืืื ืืืืืขืจ ืืื ืืขืจ ืืืื ืขืืืืืง. ืืืึทืฉืคึผืื ืคึผืึธืืืฆืืข (ืคืื ืืืื ืขืจ ืคืื ืืืื ืคึผืจืึทืืืฉืขืงืก ืืื NoSQL ืืื ืืขืืืขื ืจืขืื ืืื ืขืก ืืื ืืืจืฃ).
{"en_wikipedia_url":"https://en.wikipedia.org/wiki/Johnny_Cash",
"ru_wikipedia_url":"https://ru.wikipedia.org/wiki/?curid=301643",
"ru_wiki_pagecount":149616,
"entity":[42775,"ะะถะพะฝะฝะธ ะัั","ru"],
"en_wiki_pagecount":2338861}
ืืืจ ืงืขื ื ืืืืขื ืขื ืืขืจ
ืืืึธืก ืฆื ืืขืจื ืขื?
ืืึธ, ืืื, ืืืจ ื ืึธืจ ืืึทืจืคึฟื ืฆื ืื ืืืจื ืคืื ืึทื ืืขืจืงืืืึทืื ืืืื ืึทืจืืขื, ืืืึธืก ืคึผืจืึธืคึผืขืจืืืขืก ืขืก ืืื ืืื ืืืึธืก NoSQL ืกืืกืืขืืขื ืืขื ืขื ืื ืืืฆื ืืืึธืก ืืืึธืื ืคึผืึทืกืืง ืืขื ืืึทืฉืจืืึทืืื ื - ืืื ืืขืืึธืื ืึธื ืืืืื ืืขืจื ืขื ืืขื ืกืืกืืขื.
ืกืงืจืืคึผืืื ื ืึธื ืคึฟืจืขื ืฉืคึผืจืึทืื
ืืื ืขืจืฉืืขืจ, ืขืก ืืืื ื, ืืืึธืก ืืื Python ืืึธืื ืฆื ืืึธื ืืื ืืื ืืื ืึทืืืขืืืื - ืขืก ืืื ืึท ืคึผืจืึธืืจืึทืืืื ื ืฉืคึผืจืึทื ืืื ื ืืฉื ืืืขืื ืคึฟืจืืื.
- ืคึผืึทื ืืึทืก ืืื ืืืฉ ืึท ืฉืืืืืฆืขืจ ืึทืจืืื ืืขืกืขืจ ืคืื ืืึทืืึท ืืืืกื ืฉืึทืคึฟื; ืึท ืจืืืืง ืกืืืข ืคืื โโืืึทืื ืืจืึทื ืกืคืึธืจืืึทืฆืืข, ืึทืืืจืขืืึทืืืึธื, ืขืืง ืืึทืคึผืึทื ื ืืื ืขืก.
- ื ืึทืืคึผื - ืืืขืงืืึธืจ ืืฉืืื ืืช, ืืึทืืจืืฅ ืืื ืืื ืขืึทืจ ืึทืืืขืืจืึท ืืึธืจื.
- Scipy - ืขืก ืืื ืึท ืคึผืืึทืฅ ืคืื ืืืืขืืืืืง ืืื ืืขื ืคึผืขืงื, ืกืคึผืขืฆืืขื ืกืืึทืฅ.
- Jupyter ืืึทื - ืึท ืคึผืืึทืฅ ืคืื ืืงืกืคึผืืึธืจืึทืืึธืจื ืืึทืื ืึทื ืึทืืืกืืก ืคืืฅ ืืขืืื ื ืืื ืืึทืคึผืืึทืคึผืก - ื ืืฆืืง ืฆื ืืืืกื.
- ืจืืงืืืขืก - ืืจืืขืื ืืื ืื ื ืขืฅ.
- Pyspark ืืื ืืืืขืจ ืคืึธืืงืก ืฆืืืืฉื ืืึทืื ืขื ืืืฉืึทื ืืจื, ืจืืึฟ ืืกืชึผืื ืืืจ ืืืขื ืืึธืื ืฆื ืื ืืขืจืึทืงื ืืื ืืขื ืึธืืขืจ Spark, ืคืฉืื ืจืขืื ืฆื ืืืืขืจ ืคึผืึธืคึผืืืึทืจืืืขื.
- * ืกืขืืขื ืืื - ืืืืขืจ ื ืืฆืืง ืคึฟืึทืจ ืงืึทืืขืงืืื ื ืืึทืื ืคืื ืืืืืืขื ืืื ืจืขืกืืจืกื, ืืื ืขืก ืืื ืคืฉืื ืงืืื ืื ืืขืจืข ืืืขื ืฆื ืืึทืงืืืขื ืื ืืึทืื.
ืืืื ืืืืคึผื ืขืฆื: ืืขืจื ืขื ืคึผืืืืึธื!
ืคึผืึทื ืืึทืก
ืืึธืืืจ ื ืขืืขื ืื ืคืืืืขื ืืข ืงืึธื ืืื ืึท ืืืึทืฉืคึผืื:
import pandas as pd
df = pd.read_csv(โdata/dataset.csvโ)
# Calculate and rename aggregations
all_together = (df[df[โtrip_typeโ] == โreturnโ]
.groupby(['start_station_name','end_station_name'])
.agg({'trip_duration_seconds': [np.size, np.mean, np.min, np.max]})
.rename(columns={'size': 'num_trips',
'mean': 'avg_duration_seconds',
'amin': min_duration_seconds',
โamax': 'max_duration_seconds'}))
ืืกืขื ืฉืึทืื, ืืืจ ืืขื ืึทื ืื ืงืึธื ืคืืฅ ืืื ืืขืจ ืงืืึทืกืืฉ ืกืงื ืืืกืืขืจ.
SELECT start_station_name, end_station_name, count(trip_duration_seconds) as size, โฆ..
FROM dataset
WHERE trip_type = โreturnโ
GROUPBY start_station_name, end_station_name
ืึธืืขืจ ืืขืจ ืืืืืืืง ืืืื ืืื ืึทื ืืขืจ ืงืึธื ืืื ืืืื ืคืื ืื ืฉืจืืคื ืืื ืื ืจืขืจื - ืืื ืืข; ืืื ืคืึทืงื, ืืืจ ืืขื ืขื ืขืืืขืืื ื ืงืืืืจืื ืืื ืื ืคึผืืืืึธื ืจืขืจื - ืืื ืืข. ืืื ืืขื ืกืืืืึทืฆืืข, ืื ืึธื ืคึฟืจืขื ืฉืคึผืจืึทื ืงืืื ืฆื ืืื ืื ืคึฟืื ืืืืืจืขืจืื ืึทืืึท ืืื ืคึผืึทื ืืึทืก ืึธืืขืจ pySpark.
ืืื ืึทืืืขืืืื, ืืื pySpark ืืืจ ืืขื ืึท ืขื ืืขื ืืืคึผ ืคืื ืืึทืื ืืจืึทื ืกืคืึธืจืืึทืฆืืข ืืืจื ืึท ืึธื ืคึฟืจืขื ืฉืคึผืจืึทื ืืื ืืขื ืืืืกื ืคืื:
df.filter(df.trip_type = โreturnโ)
.groupby(โdayโ)
.agg({duration: 'mean'})
.sort()
ืืื ืืื ืืืึธืก ืฆื ืืืืขื ืขื
ืืืืฃ ืคึผืืืืึธื ืืื ืืื ืึทืืืขืืืื
ืฉืึธื ืืื ืึท ืึธื ืคึฟืจืขื ืฉืคึผืจืึทื
ืืึทื ืฅ ืึท ืืืกื ืืึทืื ืคึผืจืึทืกืขืกืื ื ืืื ืึทื ืึทืืืกืืก ืคึผืจืึทืืืฉืขืงืก ืืืึธืก ืืื ืืึธืื ืืขืืจืืขื ืืื ืืขื ืขื, ืืื ืคืึทืงื, ืฉืึธื ืกืงืจืืคึผืก ืืืึธืก ืจืืคื ืงืึธื ืืื Python, Java, ืืื ืื ืฉืึธื ืงืึทืืึทื ืื ืืื. ืืขืจืืืขืจ, ืืื ืึทืืืขืืืื, ืืืจ ืงืขื ืขื ืืึทืืจืึทืืื ืคึผืืืคึผืืืื ื ืืื bash/zsh/etc ืืื ืึท ืกืึธืจื ืคืื ืืืื-ืืืจืื ืึธื ืคึฟืจืขื (ืืืจ ืงืขื ืขื, ืคืื ืงืืจืก, ืฉืืึธืคึผื ืืืคึผืก ืืื ืืึธืจื, ืึธืืขืจ ืืึธืก ืืื ื ืืฉื ืืืคึผืืฉ ืคึฟืึทืจ DS ืงืึธื ืืื ืฉืึธื ืฉืคึผืจืึทืื), ืืึธืื ืืื ืื ืืขืื ื ืคืฉืืืข ืืืืฉืคืื - ืืื ืืื ืืขืืืจืคื ืืืื ื QID ืืืคืื ื ืคืื ืืืืงืืืืื ืืื ืคืืืข ืคืืจืืื ืืื ืืขื ืฆื ืื ืจืืกืืฉืข ืืื ืขื ืืืืฉืข ืืืืงื'ืก, ืืขืจืคืืจ ืืื ืืื ืืขืฉืจืืื ื ืคืฉืืืข ืืงืฉื ืคืื ืื ืงืืืื ืื ืืื ืืขืจ ืืืฉ ืืื ืคืืจ ืื ืืืืกืืืืข ืืื ืืื ืืขืฉืจืืื ื ืคืฉืืืข ืฉืจืืคื ืืื Python, ืืืืก ืืื ืืื ืืขืฉืจืืื ืฉืืขืื ืฆืืืึทืืขื ืืื ืืึธืก:
pv โdata/latest-all.json.gzโ |
unpigz -c |
jq --stream $JQ_QUERY |
python3 scripts/post_process.py "output.csv"
ืืื
JQ_QUERY = 'select((.[0][1] == "sitelinks" and (.[0][2]=="enwiki" or .[0][2] =="ruwiki") and .[0][3] =="title") or .[0][1] == "id")'
ืืึธืก ืืื, ืืื ืคืึทืงื, ืื ืืื ืฆืข ืจืขืจื - ืืื ืืข ืืืึธืก ืืืฉืืคื ืื ืคืืจืืื ืื ืืึทืคึผืื ื; ืืื ืืืจ ืืขื, ืึทืืฅ ืืขืืจืืขื ืืื ืกืืจืื ืืึธืืข:
- pv filepath - ืืื ืึท ืคึผืจืึธืืจืขืก ืืึทืจ ืืืืืจื ืืืืฃ ืืขืงืข ืืจืืืก ืืื ืคึผืึทืกืื ืื ืืื ืืึทืื ืึทื ืืืขืจืื
- unpigz -c ืืืืขื ืขื ืืืื ืคืื ืื ืึทืจืงืืืื ืืื ืืขืืขืื ืขืก ืฆื jq
- jq ืืื ืื ืฉืืืกื - ืกืืจืื ืืืืื ืืขืฉืืคื ืื ืจืขืืืืืึทื ืืื ืืืจืืืขืืื ืืขื ืขืก ืฆื ืื ืคึผืึธืกืืคึผืจืึทืกืขืกืขืจ (ืืขืืืืงืขืจ ืืื ืืื ืืขืจ ืขืจืฉืืขืจ ืืืึทืฉืคึผืื) ืืื ืคึผืืืืึธื
- ืืื ืขืืืืื ืืง, ืื ืคึผืึธืกืืคึผืจืึทืกืขืกืขืจ ืืื ืืขืืืขื ืึท ืคึผืฉืื ืฉืืึทื ืืึทืฉืื ืืืึธืก ืคืึธืจืืึทืืืขื ืื ืจืขืืืืืึทื
ืืื ืืึทื ืฅ, ืึท ืงืึธืืคึผืืขืงืก ืจืขืจื - ืืื ืืข ืืจืืขืื ืืื ืืืืคื ืืึธืืข ืืืืฃ ืืจืืืก ืืึทืื (0.5 ืื), ืึธื ืืึทืืืึทืืืง ืจืขืกืืจืกื ืืื ืืขืืืื ืคืื ืึท ืคึผืฉืื ืจืขืจื - ืืื ืืข ืืื ืึท ืคึผืึธืจ ืคืื ืืืฉืืจืื.
ืื ืื ืืขืจ ืืืืืืืง ืขืฆื: ืงืขื ืขื ืฆื ืึทืจืืขืื ืืขืืื ื ืืื ืืคืขืงืืืืืื ืืื ืื ืืืึธืงืืึทื ืืื ืฉืจืืึทืื ืืึทืฉ / ืืฉ / ืขืืง.
ืืืื ืืืขื ืขืก ืืืื ื ืืฆืืง? ืืึธ, ืึผืืขื ืืืืขืืื - ืืืืืขืจ, ืขืก ืืขื ืขื ืึท ืคึผืืึทืฅ ืคืื ืืึทืืขืจืืึทืืก ืฆื ืืขืจื ืขื ืืืืฃ ืื ืืื ืืขืจื ืขื. ืกืคึผืขืฆืืขื ืืึธ
ืจ ืกืงืจืืคึผืืื ื
ืืืืืขืจ, ืืขืจ ืืืืขื ืขืจ ืงืขื ืืืืกืจืืคื - ื ื, ืืึธืก ืืื ืึท ืืึทื ืฅ ืคึผืจืึธืืจืึทืืืื ื ืฉืคึผืจืึทื! ืืื ืคืื ืงืืจืก, ืขืจ ืืืขื ืืืื ืจืขืื. ืึธืืขืจ, ืืื ืืืืฉืึทืืืึทืื ืืขืืจืึธืคื ืจ ืืื ืึทืืึท ืึท ืงืึธื ืืขืงืกื ืึทื, ืืื ืคืึทืงื, ืขืก ืืื ืืขืืืขื ืืืืขืจ ืขื ืืขื ืฆื ืึท ืึธื ืคึฟืจืขื ืฉืคึผืจืึทื.
R ืืื ืึท ืกืืึทืืืกืืืฉ ืงืึทืืคึผืืืืื ื ืกืืืืืืข ืืื ืฉืคึผืจืึทื ืคึฟืึทืจ ืกืืึทืืืง ืงืึทืืคึผืืืืื ื ืืื ืืืืืฉืืืึทืืึทืืืืฉืึทื (ืืืื ืฆื
ืืขื ืืืขื
ืคืืจืืืืก ืืึทืจืฃ ืึท ืืึทืื ืืขืืขืจื ืืขืจ ืืืืกื ืจ? ืืื ืืื ืืกืืขืจ, ืืืืึทื ืขืก ืืื ืึท ืจืืืืง ืฉืืืืข ืคืื โโื ืื-ืขืก ืืขื ืืฉื ืืืึธืก ืึทื ืึทืืืื ืืึทืื ืืื ืจ. ืืื ืืขืคึฟืื ืขื ืขืก ืืื ืื ืคืืืืขื ืืข ืขืจืืขืจ:
- ืคืึทืจืืึทืกืืืืงืึทื ืกืขืงืืึธืจ.
- ืืืึธืืึธืืืกืฅ.
- ืคืื ืึทื ืฆืืขื ืกืขืงืืึธืจ.
- ืืขื ืืฉื ืืื ืึท ืจืืื ืืึทืืึทืืึทืืืงืึทื ืืืืืื ื ืืืึธืก ืืึทื ืืืขื ืืื ืกืืึทืืืกืืืง.
- ืกืคึผืขืกืืึทืืืืขื ืกืืึทืืืกืืืฉ ืืึธืืขืืก ืืื ืืึทืฉืื ืืขืจื ืขื ืืึธืืขืืก (ืืืึธืก ืงืขื ืขื ืึธืคื ืืืืื ืืืื ืืขืคึฟืื ืขื ืืื ืืขืจ ืืืืจ 'ืก ืืืขืจืกืืข ืืื ืึท R ืคึผืขืงื).
ืคืืจืืืืก ืืื ืขืก ืคืืงืืืฉ ืึท ืึธื ืคึฟืจืขื ืฉืคึผืจืึทื? ืืื ืืขืจ ืคืึธืจืขื ืืื ืืืึธืก ืขืก ืืื ืึธืคื ืืขืคึฟืื ืขื, ืขืก ืืื ืคืืงืืืฉ ืึท ืืงืฉื ืฆื ืฉืึทืคึฟื ืึท ืืึธืืขื, ืึทืจืืึทื ืืขืจืขืื ื ืืืืขื ืขื ืืึทืื ืืื ืคืืงืกืืจ ืึธื ืคึฟืจืขื (ืืึธืืขื) ืคึผืึทืจืึทืืขืืขืจืก, ืืื ืืขืืื ื ืืื ืืืืืฉืืืึทืืืืืื ื ืืึทืื ืืื ืคึผืึทืงืึทืืืฉืึทื ืึทืืึท ืืื ggplot2 - ืืึธืก ืืื ืืืื ืึท ืคืึธืจืขื ืคืื ืฉืจืืืื ืคึฟืจืืื. .
ืืืึทืฉืคึผืื ืงืืืืจืื ืคึฟืึทืจ ืืืืืฉืืืึทืืึทืืืืฉืึทื
ggplot(data = beav,
aes(x = id, y = temp,
group = activ, color = activ)) +
geom_line() +
geom_point() +
scale_color_manual(values = c("red", "blue"))
ืืื ืึทืืืขืืืื, ืคืืืข ืืืืืึทื ืคืื ืจ ืืึธืื ืืืืืจืืืืื ืืื ืคึผืืืืึธื ืคึผืึทืงืึทืืืฉืึทื ืึทืืึท ืืื ืคึผืึทื ืืึทืก, ื ืึทืืคึผื ืึธืืขืจ ืกืืคึผื, ืืื ืืึทืืึทืคืจืึทืืขืก ืืื ืืึทืื ืืืขืงืืึธืจืืืึทืืืึธื - ืึทืืื ืืื ืึทืืืขืืืื, ืึท ืคึผืืึทืฅ ืคืื ืืื ืื ืืื R ืืืขื ืืืกืงืืืขื ืืึทืงืึทื ื ืืื ืืึทืงืืืขื ืคึฟืึทืจ ืืืจ.
ืขืก ืืขื ืขื ืคืืืข ืืงืืจืื ืฆื ืืขืจื ืขื, ืืืฉื,
ืืืืกื ืืจืึทืคืก
ืืึธ ืืื ืืึธืื ืึท ืืืกื ืืืืขืืืืื ืืืขื ืืขืจืคืึทืจืื ื, ืืืืึทื ืืื ืึธืคื ืืึธืื ืฆื ืึทืจืืขืื ืืื ืืืืกื ืืจืึทืคืก ืืื ืึธื ืคึฟืจืขื ืฉืคึผืจืึทืื ืคึฟืึทืจ ืืจืึทืคืก. ืืขืจืืืขืจ, ืืึธืื ืก ื ืึธืจ ืืขืงืืฆืขืจ ืืืื ืืืืขืจ ืื ืืึทืกืืงืก, ืืืืึทื ืืขื ืืืื ืืื ืึท ืืืกื ืืขืจ ืขืงืืึธืืืฉ.
ืืื ืงืืืกืืฉืข ืจืืืืืฉืึทื ืึทื ืืึทืืึทืืืืกืื ืืืจ ืืึธืื ืึท ืคืึทืจืคืขืกืืืงื ืกืืฉืขืืึท, ืึธืืขืจ ืืึธ ืื ืกืืฉืขืืึท ืืื ืคืืขืงืกืึทืืึทื, ืืขืืขืจ ืคึผืจืขืืืงืึทื ืืื ืคืืงืืืฉ ืึท "ืืืึทื" ืืื ืืคืืื ืืขืจ.
ืืืึทืืืฉืึทื ืึทื ืืืจ ืืึธื ืืึธืืขืืื ื ืึท ืืขื ืืฉ ืืื ืืขืืืืื ืฆื ืืึทืฉืจืืึทืื ืฉืืืกื ืืืื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืึธืืืจ ื ืขืืขื ืึท ืกืคึผืขืฆืืคืืฉ ืืขื ืืฉ, ืืึธืืืืึทืก ืึทืืึทืืก, ืืื ื ืืฆื ืืขื ืืึทืฉืจืืึทืืื ื ืืื ืึท ืืงืขืจ.
ืืืื ืืืจ ืืขืืืืื ื ืึท ืจืืืืืฉืึทื ืึทื ืืึทืืึทืืืืก, ืืืจ ืืืึธืื ืืึธืื ืฆื ืฉืึทืคึฟื ืึท ืจืืืืง ืืืฉ ืึธืืขืจ ืืืฉื ืืื ืึท ืจืืืืง ื ืืืขืจ ืคืื ืฉืคืืืื, ืจืืึฟ ืคืื ืืืึธืก ืืืึธืื ืืืื NULL ืึธืืขืจ ืึธื ืืขืคืืื ืืื ืขืืืขืืข ืคืขืืืงืืึทื ืคืึทืืฉ ืืืขืจื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืขืก ืืื ืึทื ืืืืงืื ืึทื ืคืืืข ืคืื โโโโืืื ืื ืืึธืื ืึท ืคึผืึธืืืฆืืข ืืื ืื ืงืึธืจืขืึดืฉ ื ืืฆืืื ืืืข ืืืืืืึธืืขืง - ืคืื ืงืืจืก, ืืืจ ืงืขื ืฉืืขืื ืืื ืืื ืืึทืืื ืืขืจ ืืืฉื, ืึธืืขืจ ืืึธืก ืืืึธืื ืืขืกืึธืฃ ืืืื ืึทื ืคึผืจืืืื ืฆื ืืึธืืขื ืึท ืคืืขืงืกืึทืืึทื ืืึทืืืฉืืงืึทื ืงืจืืึทื ืืื ืคึผืจืขืืืงืึทืฅ ื ืืฆื ืึท ืคืึทืจืคืขืกืืืงื ืจืืืืืฉืึทื ืึทื.
ืึทืืื ืืืึทืืืฉืึทื ืึทื ืึทืืข ืืึทืื ืืขื ืขื ืกืืึธืจื ืืื ืึท ืืจืึทืคืืง ืึธืืขืจ ืืื ืืืื ืขืจื ืืื ืื ืึทืจื ืืืืืึทื ืืืืกืืจืืงื.
ืืืื ืงืขื ืืขื ืืืก ืืคืืื ืืจืขืคื? ืขืจืฉืืขืจ, ืึทืจืืขื ืืื
ืื ืคืืืืขื ืืข ืืขื ืขื ืื ืืืืคึผื ืึธื ืคึฟืจืขื ืฉืคึผืจืึทืื ืืืึธืก ืืื ืืึธืื ืืขืืืืื ื ืืื ืืขืืจืืขื ืืื.
SPARQL
ืืืืงื:
SPARQL (ืจืขืงืืจืกืืืืข ืึทืงืจืึทื ืื ืคืืืขื ืืืืฉ SPARQL ืคึผืจืึธืืึธืงืึธื ืืื RDF ืึธื ืคึฟืจืขื ืฉืคึผืจืึทื) -ืืึทืื ืึธื ืคึฟืจืขื ืฉืคึผืจืึทื , ืจืขืคึผืจืืืขื ืืื ืืืจื ืื ืืึธืืขืืจ.ืค.ื. ืืืืคึผืจืึธืืึธืงืึธื ืฆื ืึทืจืืืขืจืคืืจื ืื ืจืืงืืืขืก ืืื ืจืืกืคึผืึทื ื ืฆื ืืื. SPARQL ืืื ืึท ืจืขืงืึธืืขื ืืึทืฆืืขW3C ืงืึธื ืกืึธืจืืืื ืืื ืืืื ืขืจ ืคืื ืื ืืขืงื ืึทืืึทืืืฉืืืกืขืืึทื ืืืง ืืืขื .
ืืืขืจ ืืื ืคืึทืงื ืขืก ืืื ืึท ืึธื ืคึฟืจืขื ืฉืคึผืจืึทื ืคึฟืึทืจ ืืึทืืืฉืืงืึทื ืื ืึทืจื ืืื ืืืื ืขืจื ืคึผืจืขืืืงืึทืฅ. ืืืจ ืืขื ื ืคืฉืื ืงืึทื ืืืฉืึทื ืึทืื ืกืคึผืขืฆืืคืืฆืืจื ืืืึธืก ืืื ืคืึทืจืคืขืกืืืงื ืืื ืึท ืืืืืึทื ืืืืกืืจืืง ืืื ืืืึธืก ืืื ื ืืฉื (ืืืืขืจ ืกืืืคึผืืึทืคืืื).
ืื RDF (Resource Description Framework) ืืึทืืข ืืื, ืืืืขืจ ืืืึธืก SPARQL ืงืืืืจืื ืืขื ืขื ืขืงืกืึทืงืืืืึทื, ืืื ืึท ืืจืืึทืืง object, predicate, subject
- ืืื ืื ืึธื ืคึฟืจืขื ืกืึทืืขืงืฅ ืื ืคืืจืืื ืื ืืจืืคึผืึทืื ืืืื ืื ืกืคึผืขืกืืคืืขื ืจืืกืืจืืงืฉืึทื ื ืืื ืื ืืืืกื: ืืขืคึฟืื ืขื ืึทื X ืึทืืื ืึทื p_55(X, q_33) ืืื ืืืช - ืืื, ืคืื ืงืืจืก, p_55 ืืื ืึท ืืื ืคืื ืืึทืฆืืื ื ืืื ID 55, ืืื q_33 ืืื ืึทื ืึธืืืขืงื ืืื ID 33 (ืืึธ ืืื ืื ืืื ืฆืข ืืขืฉืืืืข, ืืืืืขืจ ืืืืขืจืืึธืื ืึทืืข ืกืึธืจืฅ ืคืื ืคึผืจืืื).
ืืืึทืฉืคึผืื ืคืื ืืึทืื ืคึผืจืขืืขื ืืืจืื ื:
ืืืืืขืจ ืืื ืืืืฉืคึผืื ืืื ืืขื ืืขืจ ืืึธ
ืืืืกืืงืื ืึธื ืคึฟืจืขื ืืืึทืฉืคึผืื
ืืื ืคืึทืงื, ืืืจ ืืืืื ืฆื ืืขืคึฟืื ืขื ืื ืืืขืจื ืคืื ืื ืืึทื ื ืืืขืจืืึทืืึทื ืึทืืื ืึทื ืคึฟืึทืจ ืื ืคึผืจืขืืืงืึทื
member_of, ืขืก ืืื ืืืช ืึทื member_of(?country,q458) ืืื q458 ืืื ืื ID ืคืื ืื ืืืืจืืคืขืืฉืข ืืื ืืึทื.
ืึท ืืืืฉืคึผืื ืคืื ืึท ืคืึทืงืืืฉ SPARQL ืึธื ืคึฟืจืขื ืืื ืื ืคึผืืืืึธื ืืึธืืึธืจ:
ืืืคึผืืงืึทืืื, ืืื ืืึธืื ืฆื ืืืืขื ืขื SPARQL ืืื ืืื ืฉืจืืึทืื ืขืก - ืืื ืึทื ืกืืืืึทืฆืืข, ืขืก ืืืึธืื ืืืื ืึท ื ืืฆืืง ืืงืืขืก ืฆื ืคึฟืึทืจืฉืืืื ืื ืฉืคึผืจืึทื ืืื ืืื ืืกืืขืจ ืืื ืึท ืืงืขืจืืืง ืืืจืื ืฆื ืคึฟืึทืจืฉืืืื ืคึผืื ืงื ืืื ืืึทืื ืืขื ืขื ืจืืืจืืืื.
ืขืก ืืื ืึท ืคึผืืึทืฅ ืคืื ืืึทืืขืจืืึทื ืฆื ืืขืจื ืขื ืึธื ืืืื: ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืึธ
ืืึทืืืฉืืงืึทื ืึธื ืคึฟืจืขื ืฉืคึผืจืึทืื
ืืืจ ืงืขื ื ืืืืขื ืขื ืืขืจ ืืืขืื ืืขื ืืขืืข ืืื ืืืื ืึทืจืืืงื
output(X) :- country(X), member_of(X,โEUโ).
ืืึธ ืืืจ ืืขื ืขื ืืขืจืขืื ืืืขืื ืงืจืืืืืื ื ืึท ื ืืึท ืคึผืจืขืืืงืึทื ืจืขืืืืืึทื / 1 (/1 ืืืื ืื ืึทืจื), ืฆืืืขืฉืืขืื ืึทื ืคึฟืึทืจ X ืขืก ืืื ืืืช ืึทื ืืึทื ื (X) - ื"ื X ืืื ืึท ืืึทื ื ืืื ืืืื ืืืืืืื_ืคืื (X,"EU ").
ืึทื ืืื, ืืื ืืขื ืคืึทื, ืืืืืข ืื ืืึทืื ืืื ืื ืึผืืืื ืืขื ืขื ืืขืจืืื ืื ืืื ืื ืืขืืืข ืืืขื, ืืืึธืก ืึทืืึทืื ืืื ืื ืฆื ืืึธืืขื ืคึผืจืึธืืืขืืก ืืืืขืจ ืืืืื ืืื ืืขืืื ื.
ืืืื ืืืกืื ืืื ืืืืขืื ื ืืื ืื ืืื ืืืกืืจืืข?: ืึท ืืึทื ืฅ ืืจืืืก ืคึผืจืืืขืงื ืืื ืึท ืคืืจืืข ืืืึธืก ืฉืจืืืื ืงืืืืจืื ืืื ืึทืืึท ืึท ืฉืคึผืจืึทื, ืืื ืืขืืื ื ืืื ืืืืฃ ืื ืงืจืึทื ื ืคึผืจืืืขืงื ืืื ืื ืืึทืจืฅ ืคืื ืื ืกืืกืืขื - ืขืก ืืืึธืื ืืืกืงืืืขื ืึทื ืืึธืก ืืื ืึท ืืึทื ืฅ ืขืงืืึธืืืฉ ืืึทื, ืึธืืขืจ ืืื ืขืก ืืึทืคึผืึทื ื.
ืึท ืืืืฉืคึผืื ืคืื ืึท ืงืึธื ืคืจืึทืืืขื ื ืืื ืึท ืืึทืืืฉืืงืึทื ืฉืคึผืจืึทื ืคึผืจืึทืกืขืกืื ื ืืืืงืืืึทืืึท:
ืืึทืืขืจืืึทืืก: ืืื ืืืขื ืืขืื ืืึธ ืึท ืคึผืึธืจ ืคืื ืืื ืงืก ืฆื ืื ืืึธืืขืจื ืืึทืืืฉืืงืึทื ืคึผืจืึธืืจืึทืืืื ื ืฉืคึผืจืึทื ืขื ืืคืขืจ ืกืขื ืคึผืจืึธืืจืึทืืืื ื - ืืื ืจืขืงืึธืืขื ืืืจื ืฆื ืืขืจื ืขื ืขืก:
http://peace.eas.asu.edu/aaai12tutorial/asp-tutorial-aaai.pdf http://ceur-ws.org/Vol-1145/tutorial1.pdf https://www.youtube.com/watch?v=gVQ0bP8zyHw https://www.youtube.com/watch?v=kdcd7Je2glc https://potassco.org/book/ http://potassco.sourceforge.net/teaching.html https://www.cs.uni-potsdam.de/~torsten/Potassco/Tutorials/fmcad12.pdf
ืืงืืจ: www.habr.com