κ°μ
μ·¨μ
μ΄ μ°Έ μ΄λ ΅μ΅λλ€. F-Labμμ λ©ν λ‘μ κ°λ°μ μ·¨μ
μ μ€λΉνλ λ©ν°λΆλ€μ λ§λλ€ λ³΄λ, 5λ
μ 첫 κ°λ°μ μ·¨μ
μ μ κ° κ°λ λΆμκ³Ό λ΅λ΅ν¨μ μ§κΈμ λ©ν°λΆλ€μ΄ κ·Έλλ‘ λλΌκ³ μμμ μκ² λμμ΅λλ€. μ΄ κΈμ ν΅ν΄ μ κ° μ§λ 5λ
λμ μΉμ΄νκ² μ
κ³μμ ꡬλ₯΄λ©° λ°°μ°κ³ λλ κ²μ, 5λ
μ μ μ μ μ§κΈ μλ§μ μ£Όλμ΄ κ°λ°μλΆλ€μ΄ λλΌκ³ κ³μ κ·Έ λΆμκ°μ κΈ°λ°μΌλ‘ 곡μ ν΄ λλ¦¬κ³ , κ°μμ μν©μμ μ μ°κ³ κ³μ λ§μ λΆλ€κ» μ‘°κΈμ΄λλ§ μλ‘λ₯Ό μ νκ³ μΆμ΅λλ€.
μμΈλ‘ λ€λ€ λͺ¨λ₯Έλ€ (1) - localhost:8080μ ν¨μ
μ μ΄λ μ·¨μ
μ μλ μ£Όλμ΄ κ°λ°μμ λ 벨μμλ, λλ³΄λ€ λ§μ κ±Έ μλ κ²μ²λΌ 보μ΄λ λΆλ€λ μ€μ λ‘λ κΈ°μ μ λν μ΄ν΄κ° λ³λ‘ μλ κ²½μ°κ° λ§μ΅λλ€. μ νν λ§νλ©΄, νμ
κ²½νμ΄ μλ λ°±μλ κ°λ°μμ κΈ°μ μ΄λ νλ μμν¬μ λν μ΄ν΄λ λμ²΄λ‘ λΉμ·ν μμ€μΈ κ²½μ°κ° λ§μ΅λλ€(λ¬Όλ‘ μμμ κ΄΄μλ μ²μ¬λ λ μμΈμ
λλ€).
μ΄ν΄λ₯Ό λκΈ° μν΄ λ°μ΄ν° μμ§λμ΄λ§ ν¬μ§μ
μ μ§μν ν μ μ
κ°λ°μμ κ°μμ λ©΄μ μ¬λ‘λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€. λ§ κ·Έλλ‘ μ΄ν΄λ₯Ό λκΈ° μν΄ κΎΈλ©°λ΄μ΄ λ³Έ κ²μ΄μ§λ§, μ κ° λ©΄μ κ΄μΌλ‘ λ©΄μ μ μ°Έμ¬νλ©° λλ¬Όμ§ μκ² λ³΄λ μ¬λ‘λ€μ΄κΈ°λ ν©λλ€.
- λ©΄μ κ΄: λΉμ ν ν
μ€νΈ λ°μ΄ν° κ°κ³΅μ μν΄ λ€μν κΈ°μ μ νμ΅νκ³ μ μ©νμ κ² κ°μλ°μ, μ΄λ€ κΈ°μ λ€μ΄μλμ§ μ€λͺ
ν΄ μ£Όμκ² μ΄μ?
- μ§μμ: λ€, μ°μ RDB μ¬μ©μ νκ³λ₯Ό λλΌκ³ Hadoop ν΄λ¬μ€ν°λ₯Ό ꡬμ±ν λ€, Sparkλ₯Ό μΈν
νμμ΅λλ€. μ΄ν Jupyter Notebookμ μ
μ
νμ¬ pysparkλ₯Ό ν΅ν΄ λ°μ΄ν°λ₯Ό λΉ λ₯΄κ² λ½μλΌ μ μμμ΅λλ€.
- λ©΄μ κ΄: ν΄λΉ ν΄λ¬μ€ν°λ€μ μ΄λ€ νκ²½μ ꡬμΆνμλμ?
- μ§μμ: νμ΅ λͺ©μ μ΄μμΌλ―λ‘ λ‘컬μ ꡬμΆνμμ΅λλ€.
- λ©΄μ κ΄: λ°μ΄ν°μ ν¬κΈ°λμ?
- μ§μμ: μ½ 5λ§ κ±΄ μ λμμ΅λλ€.
- λ©΄μ κ΄: 5λ§ κ±΄ μ λμ λ°μ΄ν°λΌλ©΄ λ μ½κ³ μ’μ λ°©λ²μ΄ μμμ κ² κ°μλ°, νΉμ λμμ μμμκΉμ?
- μ§μμ: ??
νμ
μ μ§μΆνκΈ° μ κΉμ§λ
1) μΆ©λΆν κ²½νμ΄ λ μ λμ λ§μ νΈλν½/λ°μ΄ν°λ₯Ό λ°λ κ²μ΄ κ±°μ λΆκ°λ₯νκ³
2) λ‘컬νΈμ€νΈ μ΄μΈμ μ§μμ±μ κ°μ§ μ μλ νΈμ€ν
νκ²½μ μ€λΉνκΈ°κ° μ΄λ ΅μ΅λλ€.
Kaggle, AWSμ κ°μ΄ μ’μ λ°μ΄ν°μ νΌλΈλ¦ ν΄λΌμ°λλ₯Ό μ 곡νλ μλΉμ€κ° μλ μ§κΈλ λκ°μ΅λλ€. λ€μν κΈ°μ μ νμ΅ν΄ λ³΄λ €κ³ ν μλλ λ©μ§μ§λ§, μμ μ΄ κ°κ³ μλ λμμ λν΄μλ ν¨κ» μ΄μΌκΈ°ν ν, 'νμ΅ λͺ©μ 'μμ κ·Έλ° μλλ€μ νλ€κ³ λ©μ§κ² λ§ν μ μλ μ§μμλ λ§μ΄ λ³΄μ§ λͺ»ν κ² κ°μ΅λλ€. λλ³΄λ€ λ λ€μν κ²½νμ ν΄λ³Έ κ² κ°λ€κ³ μ§λ κ²λ¨Ήμ§ λ§μκΈ° λ°λλλ€. μ¬μ€ λ€λ€ κΉμ΄λ λΉμ·ν©λλ€.
μμΈλ‘ λ€λ€ λͺ¨λ₯Έλ€(2) - νΈλ¬λΈ μν
μ ν΄λ³Έ μ μ΄ μλ€
μμΈ‘ λΆκ°νκ³ λ³ν무μν νΈλν½κ³Ό λΉμ¦λμ€ λ‘μ§μ κ³μ λ°μμ€μΌ νλ νμ
κ°λ°κ³Όλ λ€λ₯΄κ², μ·¨μ
μ€λΉ λ¨κ³μμ κ²½νν μ μλ κ²μ λͺ¨λ μν©μ΄ μμΈ‘ κ°λ₯νκ±°λ ν΅μ λ μ€νμ€ νκ²½μ
λλ€. μ€μ λΆνΉμ λ€μμ μΈκ° μ μ κ° λΏμ΄λ΄λ νΈλν½κ³Ό nGrinder, Vegeta κ°μ λκ΅¬λ‘ μλ κ°μ νΈλν½μ κ·Έ μμμ΄ μμ λ€λ¦
λλ€.(λ¬Όλ‘ μ΄ λꡬλ€μ΄ μλΉμ€ λ¦΄λ¦¬μ¦ μ νΈλν½μ λͺ¨μν΄ λ³Ό μ μλ μ’μ λꡬμμ λΆμ νλ κ²μ μλλλ€)
νμ
κ°λ°μκ° κ°μ₯ μ΄λ €μμ κ²ͺκ³ , λ΄ λλ£κ° μ λ₯νκΈ°λ₯Ό κΈ°λνλ ν¬μΈνΈλ λ°λ‘ λΆνΉμ νΈλν½, κ·Έλ¦¬κ³ κ·Έκ²μ΄ λ§λ€μ΄λ΄λ λ€μν νΈλ¬λΈ μν©μ λν΄ κ²½νμ κ°μ§ μνμμ κ·Έ κ²½νμ κΈ°λ°μΌλ‘ μ°λ¦¬ μμ€ν
μ μμ μ μΌλ‘ μ΄μν μ μλ λ₯λ ₯μ
λλ€. μ΄ λ₯λ ₯μ μ·¨μ
μ€λΉμμ΄ μ§μμ λ§λ€κΈ°λ κ±°μ λΆκ°λ₯μ κ°κΉμ΅λλ€.
λ€μν κΈ°μ μ€νμΌλ‘ μ ν리μΌμ΄μ
μ ꡬμ±νλ κ²λ³΄λ€ μ€μν κ²μ΄ λ°λ‘ λ€μν νΈλν½μ λ°μ보며 μ₯μ μ λμ²ν΄ λ³Έ κ²½νμ
λλ€. λ§μ½ μ¬λ¬λΆμ΄ νμ
κ²½νμ΄ μλλ°λ κ·λͺ¨ μλ μ¬μ΄λνλ‘μ νΈλ κ°μΈ μ°½μ
κ²½νμ ν΅ν΄ μ₯μ μ λμ²ν΄ λ³Έ κ²½νμ΄ μλ€λ©΄, κ·Έλ¦¬κ³ μ΄λ₯Ό ν΅ν΄ νμ΅ν΄ λ³Έ μ£Όμ λ€μ΄λ κΈ°μ μ΄ μλ€λ©΄ λ°λμ κΈ°μ λΈλ‘κ·Έμ μ 리νμκ³ λ©΄μ μ₯μμ ν₯λ―Έμ§μ§νκ² μ΄μΌκΈ°νμκΈ° λ°λλλ€. μ¬λ¬λΆ μμ μμμλ νμ
κ°λ°μ λ©΄μ κ΄λ€μ λμμ κΏμ΄ λ¨μ΄μ§ κ²μ
λλ€.
μκ°ν΄ 보면 μ λ μ΄ μΈ‘λ©΄μμλ μ΄μ΄ μ’ μ’μλ κ² κ°μ΅λλ€. κ°λ°μ μ·¨μ
μ μ€λΉνλ λνμ μμ μ λ νκ΅μ νμμλΉ λ©λ΄λ₯Ό μλ €μ£Όλ κ°λ¨ν μΉ΄μΉ΄μ€ν‘ μ±λ΄μ λ§λ€μ΄ μ΄μνκ³ μμμ΅λλ€. μλΉμ€ μΆμ λ¨κ³μμλ μ μ¬μκ°μλ§ νΈλν½μ΄ λͺ°λ¦΄ κ²μΌλ‘ μμνκ³ κ·Έμ λ§λ λλΉλ₯Ό νκ³ μμλλ°, νμμλΉμμ μμΉ¨μ λ¨Ήλ λΆλ€μ΄ κ·Έλ κ² λ§μ μ€ λͺ°λκ³ (λΉμκΉμ§ μ λ μμ·¨ κ²½νμ΄ μμμ΅λλ€) λ§μλ λ©λ΄κ° λμ€λ λ μ΄λ©΄ μ
μλ¬Έμ΄ νΌμ Έ μ‘°νμκ° νμλ³΄λ€ ν¨μ¬ λμ΄λ μλ μλ€λ κ±Έ μ²μ κ²½νν΄ λ³΄κ² λμμ΅λλ€. μλΉμ€λ₯Ό AWS Lambdaμ DynamoDB κΈ°λ°μΌλ‘ μ΄μνκ³ μμλλ°, λ§μ νΈλν½μ λ°κΈ° μν΄μ μ΄λ€ μ΅μ νλ₯Ό ν΄μΌ ν μ§ κΉμ΄ μκ² κ³ λ―Όνλ κ²½νμ κ°μ Έλ³Ό μ μμκ³ , μ΄ν κ°λ°μλ‘ μ²« μ·¨μ
μ νλ λ°μλ ν° λμμ μ£Όμλ κ²½νμ΄ λλ κΈ°μ΅μ΄ λ©λλ€.
λλ§ λͺ¨λ₯΄κ³ , λλ§ λΆμ‘±νλ€λ μκ°μ΄ κ΅μ₯ν μλ―Έ μκ³ κ΄ν κ±±μ μ΄λ μ¬μ€μ μ λ¦¬ν΄ λ΄€λλ°μ, κ·ΈλΌμλ λΆκ΅¬νκ³ λ€λ₯Έ μ§μμλ€μ λΉν΄ λ보μ¬μ λ€μμ κΈ°μ
μ ν©κ²©νλ λΆλ€μ΄ λ§λ€λ μ¬μ€ λν λΆμ νκΈ° μ΄λ ΅μ΅λλ€. νμ
κ²½νκ³Ό λ©ν κ²½νμ ν΅ν΄ μ΄λ° λΆλ€μ΄ μΆ©μ€νκ² λ°λ₯Έ μμΉμ΄ λͺ κ° μλ€λ κ²μ μκ² λμλλ°μ, μ§κΈλΆν° μ 리νμ¬ λ³΄κ² μ΅λλ€.