hadoop_map_yarn

Mapreduce

  • image

    • https://www.datadoghq.com/blog/hadoop-architecture-overview/

  • MapReduceλŠ” μ—¬λŸ¬ 컴퓨터에 걸쳐 λΆ„μ‚°λœ λ°©μ‹μœΌλ‘œ λŒ€κ·œλͺ¨ 데이터 μ„ΈνŠΈλ₯Ό μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ 맞좀 μ œμž‘λœ ν”„λ ˆμž„μ›Œν¬

  • λ§΅λ¦¬λ“€μŠ€ ν”„λ‘œκ·Έλž˜λ°μ€ 큰 μ—°μ‚° μž‘μ—…μ„ λ‹€μˆ˜μ˜ κ°’μ‹Ό μ„œλ²„λ‘œ κ΅¬μ„±λœ ν΄λŸ¬μŠ€ν„°μ— κ³ λ₯΄κ²Œ λ‚˜λˆ„μ–΄ μ²˜λ¦¬ν•˜λŠ” ν”„λ‘œκ·Έλž˜λ° λͺ¨λΈλ‘œ, λΉ„μš©νš¨μœ¨μ„±κ³Ό μˆ˜ν‰ν™•μž₯성을 μ œκ³΅ν•©λ‹ˆλ‹€. 이 μ—°μ‚° λͺ¨λΈ μ•„λž˜μ—λŠ” ν•˜λ‘‘ λΆ„μ‚° νŒŒμΌμ‹œμŠ€ν…œ(HDFS, Hadoop Distributed Filesystem)μ΄λΌλŠ” λΆ„μ‚° 파일 μ‹œμŠ€ν…œμ΄ μ‘΄μž¬ν•©λ‹ˆλ‹€.

  • 데이터 μ»¬λ ‰μ…˜ 각 μš”μŠ€λ₯Ό ν•œ ν˜•νƒœμ—μ„œ λ‹€λ₯Έ ν˜•νƒœλ‘œ 맡핑(맡 단계)ν•˜κ³  이 λ§΅ν•‘λœ 데이터 μ»¬λ ‰μ…˜μ„ ν•˜λ‚˜μ˜ κ°’ λ˜λŠ” 더 μž‘μ€ μ»¬λ ‰μ…˜μœΌλ‘œ μ€„μ΄λŠ” (λ¦¬λ“€μŠ€ 단계) 데이터 연산에 κΈ°λ°˜μ„ λ‘” 계산 νŒ¨λŸ¬λ‹€μž„μœΌλ‘œ κ΅¬κΈ€μ—μ„œ κ°œλ°œν–ˆμŠ΅λ‹ˆλ‹€. λ§΅λ¦¬λ“€μŠ€λŠ” 맡과 λ¦¬λ“€μŠ€ 단계λ₯Ό νƒœμŠ€ν¬λ‘œ λ‚˜λˆ„κ³  ν΄λŸ¬μŠ€ν„°μ— 이 νƒœμŠ€ν¬λ₯Ό λΆ„μ‚°μ‹œν‚΄μœΌλ‘œμ¨ μˆ˜ν‰ ν™•μž₯된 계산이 κ°€λŠ₯ν•˜λ„λ‘ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  • MapReduce μž‘μ—…μ˜ 핡심은 3가지 μž‘μ—…μœΌλ‘œ 쀄일 수 μžˆμŠ΅λ‹ˆλ‹€. μž…λ ₯ 데이터 μ„ΈνŠΈλ₯Ό <key, value> 쌍의 μ»¬λ ‰μ…˜μœΌλ‘œ λ§€ν•‘ν•˜κ³ , κ²°κ³Ό 데이터λ₯Ό μ„žκ³  (데이터λ₯Ό λ¦¬λ“€μ„œλ‘œ 전솑) λ‹€μŒμœΌλ‘œ λͺ¨λ“  μŒμ„ μΆ•μ†Œν•©λ‹ˆλ‹€.

  • image

    • https://stackoverflow.com/questions/22141631/what-is-the-purpose-of-shuffling-and-sorting-phase-in-the-reducer-in-map-reduce

    • Split

      • λ§΅λ¦¬λ“€μŠ€λŠ” 맀우 큰 μž…λ ₯ νŒŒμΌμ„ μŠ€ν”Œλ¦Ώ(split)으둜 λΆ„ν• ν•©λ‹ˆλ‹€. ν•˜λ‘‘μ€ 각각의 μŠ€ν”Œλ¦Ώμ„ κ°œλ³„ 맡 ν”„λ‘œμ„ΈμŠ€μ—κ²Œ λ³΄λƒ…λ‹ˆλ‹€.

      • ν•˜λ‘‘μ€ λ§΅λ¦¬λ“€μŠ€ 작의 μž…λ ₯을 μž…λ ₯ μŠ€ν”Œλ¦Ώ(input split) λ˜λŠ” λ‹¨μˆœνžˆ μŠ€ν”Œλ¦Ώμ΄λΌκ³  λΆ€λ₯΄λŠ” κ³ μ • 크기 쑰각으둜 λΆ„λ¦¬ν•©λ‹ˆλ‹€. 각 μŠ€ν”Œλ¦Ώλ§ˆλ‹€ ν•˜λ‚˜μ˜ 맡 νƒœμŠ€ν¬λ₯Ό μƒμ„±ν•˜κ³  μŠ€ν”Œλ¦Ώμ˜ 각 λ ˆμ½”λ“œλ₯Ό μ‚¬μš©μž μ •μ˜ 맡 ν•¨μˆ˜λ‘œ μ²˜λ¦¬ν•©λ‹ˆλ‹€.

    • 맡(Map)

      • λ§΅λ¦¬λ“€μŠ€μ˜ 맡핑 λ‹¨κ³„λŠ” ν‚€-κ°’ 쌍의 μ§‘ν•©μ˜ μž…λ ₯을 μƒˆλ‘œμš΄ ν‚€-κ°’ 쌍 μ§‘ν•©μœΌλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€. 각 ν‚€-κ°’ 쌍 μž…λ ₯에 λŒ€ν•΄ ν‚€-κ°’ 쌍이 0개 이상 좜λ ₯될 수 μžˆμŠ΅λ‹ˆλ‹€.

      • ν•œ μ€„μ˜ 단어λ₯Ό ν‚€-κ°’ 쌍으둜 좜λ ₯ν•©λ‹ˆλ‹€.

    • μ»΄λ°”μ΄λ„ˆ(Combiner) ν•¨μˆ˜

      • ν•˜λ‘‘μ€ 맡의 κ²°κ³Όλ₯Ό μ²˜λ¦¬ν•˜λŠ” μ»΄λ°”μ΄λ„ˆ ν•¨μˆ˜(μ»΄λ°”μ΄λ„ˆ ν•¨μˆ˜μ˜ 좜λ ₯이 κ²°κ΅­ λ¦¬λ“€μŠ€ ν•¨μˆ˜μ˜ μž…λ ₯이 됨)λ₯Ό ν—ˆμš©ν•˜λ©° μ»΄λ°”μ΄λ„ˆ ν•¨μˆ˜λŠ” μ΅œμ ν™”μ™€ 관련이 μžˆμŠ΅λ‹ˆλ‹€.

      • ν•˜λ‘‘μ€ μ»΄λ°”μ΄λ„ˆ ν•¨μˆ˜μ˜ 호좜 λΉˆλ„μ™€ 상관없이 λ¦¬λ“€μŠ€μ˜ κ²°κ³Όκ°€ μ–Έμ œλ‚˜ 같도둝 보μž₯ν•©λ‹ˆλ‹€.

      • μ»΄λ°”μ΄λ„ˆλ₯Ό μ‚¬μš©ν•˜λ©΄ 맀퍼와 λ¦¬λ“€μ„œ μ‚¬μ΄μ˜ μ…”ν”Œ λ‹¨κ³„μ—μ„œ μ „μ†‘λ˜λŠ” 데이터양을 μ€„μ΄λŠ” 데 큰 λ„μ›€μ΄λ©λ‹ˆλ‹€.

    • μ…”ν”Œ(Shuffle)

      • 같은 ν‚€λ₯Ό 가진 ν‚€λ₯Ό λͺ¨λ‘ λͺ¨μ•„μ„œ 같은 λ¦¬λ“€μ„œμ—κ²Œ 보냄.

    • μ •λ ¬(Sort)

      • λ¦¬λ“€μ„œλ‘œ μ „λ‹¬λœ 데이터λ₯Ό ν‚€ κ°’ κΈ°μ€€μœΌλ‘œ μ •λ ¬

    • λ¦¬λ“€μŠ€(Reduce)

      • λ¦¬λ“€μŠ€ λ‹¨κ³„λŠ” 맡 λ‹¨κ³„μ—μ„œ μƒμ„±λœ ν‚€-κ°’ μŒμ„ μ²˜λ¦¬ν•©λ‹ˆλ‹€. λ§΅λ¦¬λ“€μŠ€μ˜ μ€‘μš”ν•œ κΈ°λŠ₯은 λͺ¨λ“  맡 νƒœμŠ€ν¬μ—μ„œ μƒμ„±λœ 같은 ν‚€μ˜ ν‚€-κ°’ μŒμ„ 같은 λ¦¬λ“€μŠ€ νƒœμŠ€ν¬λ‘œ μ „μ†‘ν•˜μ—¬ μ μ ˆν•˜κ²Œ 결괏값을 μ€„μ΄λŠ” 것

      • λ¦¬λ“€μ„œμ˜ μž…λ ₯ μ—­μ‹œ ν‚€-κ°’ 쌍으둜 ν‚€λŠ” λ§΅νΌμ—μ„œ λ‚˜μ˜¨ 단어 쀑 ν•˜λ‚˜μ΄κ³  값은 κ·Έ 단어 λ°œμƒ 횟수의 μ»¬λ ‰μ…˜μž…λ‹ˆλ‹€.

      • λͺ¨λ“  λ¦¬λ“€μ„œλŠ” 각 λ‹¨μ–΄μ˜ κ°’ μ»¬λ ‰μ…˜λ³„λ‘œ 값을 λͺ¨λ‘ λ”ν•˜κ³  단어-총 λ°œμƒ 수 ν‚€-κ°’ μŒμ„ 좜λ ₯ν•΄μ•Ό 함

      • λ¦¬λ“€μ„œ ν•¨μˆ˜μ˜ λͺ©μ μ€ κ°’ μ»¬λ ‰μ…˜μ„ 합계, 평균과 같은 κ°’μœΌλ‘œ λ³€κ²½ν•˜κ±°λ‚˜ λ‹€λ₯Έ μ»¬λ ‰μ…˜μœΌλ‘œ λ³€κ²½ν•˜λŠ” 것. μ΅œμ’… ν‚€-κ°’ μŒμ€ λ¦¬λ“€μ„œκ°€ λ‚΄λ³΄λƒ…λ‹ˆλ‹€

YARN

  • image

    • https://docs.cloudera.com/HDPDocuments/HDP2/HDP-2.1.3/bk_using-apache-hadoop/content/yarn_overview.html

  • ν•˜λ‘‘μ˜ ν΄λŸ¬μŠ€ν„° μžμ› 관리 μ‹œμŠ€ν…œ, ν΄λŸ¬μŠ€ν„°μ˜ μžμ›μ„ μš”μ²­ν•˜κ³  μ‚¬μš©ν•˜κΈ° μœ„ν•΄ APIλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

  • λ§΅λ¦¬λ“€μŠ€, 슀파크 λ“±κ³Ό 같은 λΆ„μ‚° μ»΄ν“¨νŒ… ν”„λ ˆμž„μ›Œν¬λŠ” ν΄λŸ¬μŠ€ν„° 계산 계측(YARN)κ³Ό ν΄λŸ¬μŠ€ν„° μ €μž₯ 계측(HDFS와 HBase) μœ„μ—μ„œ YARN μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•©λ‹ˆλ‹€.

  • λ¦¬μ†ŒμŠ€ λ§€λ‹ˆμ €μ™€ λ…Έλ“œλ§€λ‹ˆμ € λ“± 두 가지 μœ ν˜•μ˜ μž₯κΈ° μ‹€ν–‰ 데λͺ¬μ„ 톡해 핡심 μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

    • ν΄λŸ¬μŠ€ν„°μ—μ„œ μœ μΌν•œ λ¦¬μ†ŒμŠ€ λ§€λ‹ˆμ €λŠ” ν΄λŸ¬μŠ€ν„° 전체 μžμ›μ˜ μ‚¬μš©λŸ‰μ„ κ΄€λ¦¬ν•©λ‹ˆλ‹€.

    • λͺ¨λ“  λ¨Έμ‹ μ—μ„œ μ‹€ν–‰λ˜λŠ” λ…Έλ“œ λ§€λ‹ˆμ €λŠ” μ»¨ν…Œμ΄λ„ˆλ₯Ό κ΅¬λ™ν•˜κ³  λͺ¨λ‹ˆν„°λ§ν•˜λŠ” μ—­ν• 

  • λΆ„μ‚° 데이터 처리 μ•Œκ³ λ¦¬μ¦˜μ—μ„œ ν΄λŸ¬μŠ€ν„°μ˜ λ„€νŠΈμ›Œν¬ λŒ€μ—­ν­μ„ 효율적으둜 ν™œμš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” 지역성을 보μž₯ν•˜λŠ” 것이 κ°€μž₯ μ€‘μš”ν•©λ‹ˆλ‹€. YARN은 νŠΉμ • μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ ν˜ΈμΆœν•œ μ»¨ν…Œμ΄λ„ˆμ— λŒ€ν•΄ 지역성 μ œμ•½μ„ κ·œμ •ν•˜λŠ” 것을 ν—ˆμš©ν•˜λ©° 지역성 μ œμ•½μ€ νŠΉμ • λ…Έλ“œλ‚˜ λž™ λ˜λŠ” ν΄λŸ¬μŠ€ν„°μ˜ λ‹€λ₯Έ κ³³(μ™ΈλΆ€ λž™)μ—μ„œ μ»¨ν…Œμ΄λ„ˆλ₯Ό μš”μ²­ν•  λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€.

  • YARNκ³Ό λ§΅λ¦¬λ“€μŠ€ 1의 차이점

    • λ§΅λ¦¬λ“€μŠ€ 1μ—λŠ” 작의 싀행과정을 μ œμ–΄ν•˜λŠ” ν•˜λ‚˜μ˜ μž‘νŠΈλž˜μ»€μ™€ ν•˜λ‚˜ μ΄μƒμ˜ νƒœμŠ€ν¬νŠΈλž˜μ»€λ“± 두 μ’…λ₯˜μ˜ 데λͺ¬μ΄ μžˆμŠ΅λ‹ˆλ‹€.

    • image

      • https://docs.cloudera.com/HDPDocuments/HDP2/HDP-2.1.3/bk_using-apache-hadoop/content/yarn_overview.html

      • 작트래컀

        • μ—¬λŸ¬ νƒœμŠ€ν¬νŠΈλž˜μ»€μ—μ„œ μ‹€ν–‰λ˜λŠ” νƒœμŠ€ν¬λ₯Ό μŠ€μΌ€μ€„λ§ν•¨μœΌλ‘œμ¨ μ‹œμŠ€ν…œμ—μ„œ μ‹€ν–‰λ˜λŠ” λͺ¨λ“  μž‘μ„ μ‘°μœ¨ν•©λ‹ˆλ‹€.

        • λ§΅λ¦¬λ“€μŠ€ 1μ—μ„œ 작 μŠ€μΌ€μ€„λ§(νƒœμŠ€ν¬μ™€ νƒœμŠ€ν¬νŠΈλž˜μ»€λ₯Ό μ—°κ²°)κ³Ό νƒœμŠ€ν¬ 진행 λͺ¨λ‹ˆν„°λ§(νƒœμŠ€ν¬λ₯Ό μΆ”μ ν•˜κ³ , μ‹€νŒ¨ν•˜κ±°λ‚˜ 느린 νƒœμŠ€ν¬λ₯Ό λ‹€μ‹œ μ‹œμž‘ν•˜κ³ , 전체 μΉ΄μš΄ν„°λ₯Ό μœ μ§€ν•˜λŠ” λ°©λ²•μœΌλ‘œ νƒœμŠ€ν¬ μž₯λΆ€(bookeeping)λ₯Ό 맑고 있으며, 반면 YARN은 μ΄λŸ¬ν•œ 역할을 λΆ„λ¦¬λœ 객체인 λ¦¬μ†ŒμŠ€ λ§€λ‹ˆμ €μ™€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ§ˆμŠ€ν„°(λ§΅λ¦¬λ“€μŠ€ μž‘λ‹Ή ν•˜λ‚˜)λ₯Ό 톡해 μ²˜λ¦¬ν•©λ‹ˆλ‹€.

        • μ™„λ£Œλœ μž‘μ— λŒ€ν•œ 작 이λ ₯을 μ €μž₯ν•˜λŠ” 역할을 맑고 작트래컀의 λΆ€ν•˜λ₯Ό 쀄이기 μœ„ν•΄ λ³„λ„μ˜ 데λͺ¬μΈ νžˆμŠ€ν† λ¦¬ μ„œλ²„λ₯Ό 톡해 μˆ˜ν–‰λ  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. YARNμ—μ„œ 이와 λ™μΌν•œ 역할은 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 이λ ₯을 μ €μž₯ν•˜λŠ” νƒ€μž„λΌμΈ μ„œλ²„κ°€ 맑고 μžˆμŠ΅λ‹ˆλ‹€.

      • νƒœμŠ€ν¬νŠΈλž˜μ»€

        • νƒœμŠ€ν¬λ₯Ό μ‹€ν–‰ν•˜κ³  진행 상황을 μž‘νŠΈλž˜μ»€μ— μ „μ†‘ν•˜κΈ° λ•Œλ¬Έμ— μž‘νŠΈλž˜μ»€λŠ” 각 작의 전체적인 진행 상황을 νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    • λ§΅λ¦¬λ“€μŠ€ 1κ³Ό YARN μ»΄ν¬λ„ŒνŠΈμ˜ 비ꡐ

      • 작트래컀 - λ¦¬μ†ŒμŠ€ λ§€λ‹ˆμ €, μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ§ˆμŠ€ν„°, νƒ€μž„λΌμΈ μ„œλ²„

      • νƒœμŠ€ν¬νŠΈλž˜μ»€ - λ…Έλ“œ λ§€λ‹ˆμ €

      • 슬둯 - μ»¨ν…Œμ΄λ„ˆ

    • YARN을 μ‚¬μš©ν•˜μ—¬ 얻을 수 μžˆλŠ” 이읡

      • ν™•μž₯μ„± : 맡 λ¦¬λ“€μŠ€ 1보닀 큰 ν΄λŸ¬μŠ€ν„°μ—μ„œ 싀행될 수 μžˆμŠ΅λ‹ˆλ‹€.

      • κ°€μš©μ„± : κ³ κ°€μš©μ„±(high availability - HA)은 μ„œλΉ„μŠ€ 데λͺ¬μ— λ¬Έμ œκ°€ λ°œμƒν–ˆμ„ λ•Œ μ„œλΉ„μŠ€μ— ν•„μš”ν•œ μž‘μ—…μ„ λ‹€λ₯Έ 데λͺ¬μ΄ 이어받을 수 μžˆλ„λ‘ μƒνƒœ 정보λ₯Ό 항상 볡사해 λ‘λŠ” λ°©λ²•μœΌλ‘œ κ΅¬ν˜„ν•©λ‹ˆλ‹€.

      • νš¨μœ¨μ„±

      • λ©€ν‹°ν…Œλ„Œμ‹œ(닀쀑 μ‚¬μš©μž) : ν•˜λ‘‘μ΄ λ§΅λ¦¬λ“€μŠ€λ₯Ό λ›°μ–΄λ„˜μ–΄ λ‹€μ–‘ν•œ λΆ„μ‚° μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μˆ˜μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • YARN μŠ€μΌ€μ€„λ§

    • image

      • https://github.com/mjs1995/muse-data-engineer/blob/main/doc/Batch%20Processing/spark_yarn.md

    • μŠ€μΌ€μ€„λŸ¬ μ˜΅μ…˜

      • FIFO, μΊνΌμ‹œν‹°(κ°€μš©λŸ‰), νŽ˜μ–΄(κ· λ“±) μŠ€μΌ€μ€„λŸ¬λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

      • FIFO

        • μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 큐에 ν•˜λ‚˜μ”© λ„£κ³  제좜된 μˆœμ„œμ— 따라 순차적으둜 싀행함(μ„ μž…μ„ μΆœ 방식), 큐에 처음으둜 λ“€μ–΄μ˜¨ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μš”μ²­μ„ λ¨Όμ € ν• λ‹Ήν•˜κ³ , 이 μš”μ²­μ„ μ²˜λ¦¬ν•œ ν›„ 큐에 μžˆλŠ” λ‹€μŒ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μš”μ²­μ„ μ²˜λ¦¬ν•˜λŠ” λ°©μ‹μœΌλ‘œ 순차적으둜 μ‹€ν–‰ν•©λ‹ˆλ‹€.

        • 곡유 ν΄λŸ¬μŠ€ν„° ν™˜κ²½μ—μ„œλŠ” μ ν•©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λŒ€ν˜• μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μˆ˜ν–‰λ  λ•ŒλŠ” ν΄λŸ¬μŠ€ν„°μ˜ λͺ¨λ“  μžμ›μ„ μ μœ ν•΄ 버릴 수 있기 λ•Œλ¬Έμ— λ‹€λ₯Έ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ 자기 μ°¨λ‘€κ°€ 올 λ•ŒκΉŒμ§€ 계속 λŒ€κΈ°ν•΄μ•Ό ν•˜λ©° λ‹€λ₯Έ 두 μŠ€μΌ€μ€„λŸ¬λŠ” μž₯μ‹œκ°„ μˆ˜ν–‰λ˜λŠ” μž‘μ„ 계속 μ²˜λ¦¬ν•˜λŠ” λ™μ‹œμ— μž‘μ€ λΉ„μ •ν˜• μ§ˆμ˜λ„ 쀑간에 μ‹€ν–‰ν•˜μ—¬ μ λ‹Ήν•œ μ‹œκ°„ 내에 μ‚¬μš©μžκ°€ κ²°κ³Όλ₯Ό 얻을 수 μžˆλ„λ‘ ν—ˆμš©ν•©λ‹ˆλ‹€.

      • μΊνΌμ‹œν‹°(Capacity)

        • μž‘μ€ μž‘μ„ μ œμΆœλ˜λŠ” μ¦‰μ‹œ λΆ„λ¦¬λœ μ „μš© νμ—μ„œ μ²˜λ¦¬ν•©λ‹ˆλ‹€.

        • λ¬Όλ‘  ν•΄λ‹Ή νλŠ” μž‘μ„ μœ„ν•œ μžμ›μ„ 미리 μ˜ˆμ•½ν•΄ 두기 λ•Œλ¬Έμ— 전체 ν΄λŸ¬μŠ€ν„°μ˜ νš¨μœ¨μ„±μ€ 떨어지며 λŒ€ν˜• μž‘μ€ FIFO μŠ€μΌ€μ€„λŸ¬λ³΄λ‹€ 늦게 λλ‚˜κ²Œ λ©λ‹ˆλ‹€.

        • νšŒμ‚¬μ˜ 쑰직 체계에 맞게 ν•˜λ‘‘ ν΄λŸ¬μŠ€ν„°λ₯Ό κ³΅μœ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 각 쑰직은 전체 ν΄λŸ¬μŠ€ν„°μ˜ μ§€μ •λœ κ°€μš©λŸ‰μ„ 미리 ν• λ‹Ήλ°›κ³  각 쑰직은 λΆ„λ¦¬λœ μ „μš© 큐λ₯Ό 가지며 ν΄λŸ¬μŠ€ν„° κ°€μš©λŸ‰μ˜ μ§€μ •λœ 뢀뢄을 μ‚¬μš©ν•˜λ„λ‘ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

      • νŽ˜μ–΄(Fair)

        • μ‹€ν–‰ 쀑인 λͺ¨λ“  작의 μžμ›μ„ λ™μ μœΌλ‘œ λΆ„λ°°ν•˜κΈ° λ•Œλ¬Έμ— 미리 μžμ›μ˜ κ°€μš©λŸ‰μ„ μ˜ˆμ•½ν•  ν•„μš”κ°€ μ—†μœΌλ©° λŒ€ν˜• 작이 λ¨Όμ € μ‹œμž‘λ˜λ©΄ μ΄λ•ŒλŠ” μ‹€ν–‰ 쀑인 작이 ν•˜λ‚˜λ°–μ— μ—†κΈ° λ•Œλ¬Έμ— ν΄λŸ¬μŠ€ν„°μ˜ λͺ¨λ“  μžμ›μ„ 얻을 수 μžˆμŠ΅λ‹ˆλ‹€.

        • λŒ€ν˜• 작이 μ‹€ν–‰λ˜λŠ” 도쀑에 μž‘μ€ 작이 μΆ”κ°€λ‘œ μ‹œμž‘λ˜λ©΄ νŽ˜μ–΄ μŠ€μΌ€μ€„λŸ¬λŠ” ν΄λŸ¬μŠ€ν„° μžμ›μ˜ μ ˆλ°˜μ„ 이 μž‘μ— ν• λ‹Ήν•©λ‹ˆλ‹€. 각 μž‘μ€ ν΄λŸ¬μŠ€ν„°μ˜ μžμ›μ„ κ³΅ν‰ν•˜κ²Œ μ‚¬μš©ν•  수 있게 λ©λ‹ˆλ‹€.

        • μ‹€ν–‰ 쀑인 λͺ¨λ“  μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— λ™μΌν•˜κ²Œ μžμ›μ„ ν• λ‹Ήν•©λ‹ˆλ‹€.

Reference

  • https://www.oreilly.com/library/view/hadoop-the-definitive/9780596521974/

  • https://www.oreilly.com/library/view/programming-hive/9781449326944/

Last updated