Google์ ๋ฐ์ดํฐ ์กฐ์ ๋ฐ ํ๋ก๊ทธ๋จ์ SQL๋ก ๋ณํํ๋๋ก ์ค๊ณ๋ ์๋ก์ด ์ ์ธ์ ๋ ผ๋ฆฌ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ Logica๋ฅผ ์ถ์ํ์ต๋๋ค. ์๋ก์ด ์ธ์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ๋ ๋ ผ๋ฆฌ ํ๋ก๊ทธ๋๋ฐ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ ค๋ ์ฌ์ฉ์๋ฅผ ๋์์ผ๋ก ํฉ๋๋ค. ํ์ฌ ๊ฒฐ๊ณผ SQL ์ฝ๋๋ Google BigQuery ์ ์ฅ์ ๋๋ PostgreSQL ๋ฐ SQLite DBMS์์ ์คํ๋ ์ ์์ผ๋ฉฐ ์ด์ ๋ํ ์ง์์ ์์ง ์คํ์ ์ ๋๋ค. ์์ผ๋ก๋ ์ง์๋๋ SQL ์ธ์ด์ ์๋ฅผ ๋๋ฆด ๊ณํ์ ๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ Python์ผ๋ก ์์ฑ๋์์ผ๋ฉฐ Apache 2.0 ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๊ฒ์๋์์ต๋๋ค.
Logica๋ Google์์ ๊ฐ๋ฐํ ๋ ๋ค๋ฅธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ธ์ด์ธ Yedalog๋ฅผ ๊ณ์ ๊ฐ๋ฐํ๊ณ ์์ผ๋ฉฐ ํ์ค SQL์์๋ ์ฌ์ฉํ ์ ์๋ ์ถ์ํ ์์ค์ ์ ๊ณตํฉ๋๋ค. Logica์ ์ฟผ๋ฆฌ๋ ์ผ๋ จ์ ๋ ผ๋ฆฌ๋ฌธ ํ์์ผ๋ก ํ๋ก๊ทธ๋๋ฐ๋ฉ๋๋ค. ๋ชจ๋, ๊ฐ์ ธ์ค๊ธฐ ๋ฐ ๋ํํ Jupyter Notebook ์ ธ์์ Logica๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, 2020๋ ๋ด์ค์์ ๊ฐ์ฅ ์์ฃผ ์ธ๊ธ๋ ์ฌ๋๋ค์ ์์ฝ์ ์์ฑํ๋ ค๋ฉด ๋ค์ Logica ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ์ฌ GDELT ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ก์ธ์คํ ์ ์์ต๋๋ค: @OrderBy(Mentions, โmentions descโ); @Limit(๋ฉ์ , 10); Mentions(์ฌ๋:, ์ธ๊ธ? += 1) independent :- gdelt-bq.gdeltv2.gkg(persons:, date:), Substr(ToString(date), 0, 4) == โ2020โ, the_persons == Split (์ฌ๋, ";"), the_persons์ ์ฌ๋; $ logica ์ธ๊ธ.l ์คํ ์ธ๊ธ +โโโโโ-+โโโโโ-+ | ์ฌ๋ | ์ธ๊ธ_ํ์ | +โโโโโ-+โโโโโ-+ | ๋๋๋ ํธ๋ผํ | 3077130 | | ๋ก์ค์ค์ ค๋ ์ค | 1078412 | | ์กฐ ๋ฐ์ด๋ | 1054827 | | ์กฐ์ง ํ๋ก์ด๋ | 872919 | | ๋ณด๋ฆฌ์ค ์กด์จ | 674786 | | ๋ฒ๋ฝ ์ค๋ฐ๋ง | 438181 | | ๋ธ๋ผ๋๋ฏธ๋ฅด ํธํด | 410587 | | ๋ฒ๋ ์๋์ค | 387383 | | ์ค๋๋ฅ ์ฟ ์ค๋ชจ | 345462 | | ๋ผ์ค๋ฒ ๊ฐ์ค | 325487 | +โโโโโ-+โโโโโ-+
SQL๋ก ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ฉด ์ดํดํ๊ธฐ ์ฝ์ง ์๊ณ ์ฟผ๋ฆฌ ๋ถ๋ถ์ ์ฌ์ฌ์ฉ์ ๋ฐฉํดํ๋ฉฐ ์ ์ง ๊ด๋ฆฌ๊ฐ ๋ณต์กํด์ง๋ ๋ฒ๊ฑฐ๋ก์ด ์ฌ๋ฌ ์ค ์ฒด์ธ์ ์์ฑํด์ผ ํฉ๋๋ค. ์ผ๋ฐ์ ์ธ ๋ฐ๋ณต ๊ณ์ฐ์ ๊ฒฝ์ฐ SQL์ ๋ทฐ์ ํจ์๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง ๊ฐ์ ธ์ค๊ธฐ ์์
์ ์ง์ํ์ง ์์ผ๋ฉฐ ๊ณ ๊ธ ์ธ์ด์ ์ ์ฐ์ฑ์ ์ ๊ณตํ์ง ์์ต๋๋ค(์: ํจ์์ ํจ์๋ฅผ ์ ๋ฌํ ์ ์์). Logica๋ฅผ ์ฌ์ฉํ๋ฉด ํ
์คํธํ ์ ์๊ณ ํน์ ์ด๋ฆ๊ณผ ์ฐ๊ด๋๋ฉฐ ๋ค๋ฅธ ํ๋ก์ ํธ์ ์ผ๋ถ๋ก ์ฌ์ฉํ ์ ์๋ ํจํค์ง๋ก ๊ทธ๋ฃนํํ ์ ์๋ ์๊ณ ์ดํด ๊ฐ๋ฅํ๋ฉฐ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๋
ผ๋ฆฌ ๋ธ๋ก์ผ๋ก ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
์ถ์ฒ : opennet.ru