Tez와 MR

Hiveμ—λŠ” MapReduce 엔진과 Tez 엔진, Spark 엔진이 μžˆλ‹€. 이쀑 Tez와 MR의 차이λ₯Ό μ•Œμ•„λ³΄μž.

MapReduce

  • 크게 데이터λ₯Ό μ›ν•˜λŠ” Key-Value ν˜•νƒœλ‘œ λ§Œλ“œλŠ” μž‘μ—…μΈ Mapκ³Ό Map μž‘μ—…μ΄ λλ‚œ 데이터λ₯Ό ν•©μΉ˜λŠ” Reduce μž‘μ—…μœΌλ‘œ λ‚˜λˆŒ 수 μžˆλ‹€.
  • Map-Reduce μž‘μ—… ν›„ HDFS에 μ €μž₯을 λ°˜λ³΅ν•˜λŠ” κ³Όμ •μ—μ„œ Disk I/Oκ°€ λ°œμƒν•˜κ²Œ λ˜μ–΄ μž‘μ—…μ˜ 속도가 λŠλ €μ§€κ²Œ λœλ‹€.


Tez

  • 미리 μ‹€ν–‰κ³„νšμ„ κ³„μ‚°ν•˜μ—¬ DAG(비동기 사이클 κ·Έλž˜ν”„)둜 μž‘μ—… μˆœμ„œ, λ¦¬μ†ŒμŠ€λ₯Ό μ΅œμ ν™” ν•˜μ—¬, Map λ‹¨κ³„μ˜ 데이터λ₯Ό Diskκ°€ μ•„λ‹Œ Memory에 μ €μž₯ν•˜μ—¬ Reduce에 μ „λ‹¬ν•¨μœΌλ‘œμ¨ 데이터 μž‘μ—… 처리 속도λ₯Ό μ¦κ°€μ‹œμΌœμ€€λ‹€.
  • Stage(Map-Reduceκ°€ λ°˜λ³΅λ˜μ–΄ Disk I/Oκ°€ λ°œμƒν•˜λŠ” 단계)κ°€ λ‚˜λˆ„μ–΄μ§€μ§€ μ•ŠλŠ” κ°„λ‹¨ν•œ μž‘μ—…μ— λŒ€ν•΄μ„œλŠ” μ²˜λ¦¬μ†λ„ ν–₯상을 κΈ°λŒ€ν•˜κΈ° μ–΄λ ΅λ‹€.


그림으둜 보면 μ•„λž˜μ™€ κ°™λ‹€.

tez-mr


ν•˜μ΄λΈŒ μ‹€ν–‰ 엔진 섀정은 hiveμ—μ„œ μ•„λž˜μ™€ 같이 ν• μˆ˜ μžˆλ‹€.

set hive.execution.engine=mr;
set hive.execution.engine=tez;

Tags:

Categories:

Updated:

Leave a comment