์•ˆ๋…•ํ•˜์„ธ์š”? UDF ๊ด€๋ จ ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค.

57 views
Skip to first unread message

topcl...@gmail.com

unread,
Jun 28, 2016, 9:54:32โ€ฏPM6/28/16
to Apache Tajo ํ•œ๊ตญ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน
์•ˆ๋…•ํ•˜์„ธ์š”? ์ €๋Š” ํ•œ ํšŒ์‚ฌ์—์„œ ๊ฐœ๋ฐœ์ž๋กœ ์ผํ•˜๊ณ  ์žˆ๋Š” ๊น€ํ˜•์ค€์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Tajo์˜ ํŽธ๋ฆฌ์„ฑ๊ณผ ์žฅ์ ์ด ๋งŽ์€ ๊ณต๋ถ€๊ฐ€ ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Hadoop๊ณผ Tajo๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ง‘๊ณ„ํ•˜๋Š” System์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋Š”๋ฐ, Python UDF๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ์ค‘ ์—๋Ÿฌ๋ฅผ ์žก์ง€ ๋ชปํ•ด์„œ ์ด๋ ‡๊ฒŒ ์งˆ๋ฌธ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ œ๊ฐ€ ์ž‘์„ฑํ•œ Python UDF๋Š” ์ด๋Ÿฐ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค.

def fnc1(a):
ย  ย  return 1 if (a == 'P') else 0

def fnc2(a):
ย  ย  return 1 if (a == 'S') else 0

def fnc3(a, b):
ย  ย  return ((int(a)&0xff00)>>8)>>int(b)&0x1

def fnc4(a, b):
ย  ย  return (int(a)&0xff)>>int(b)&0x1

def fnc5(a):
ย  ย  return int(a)*4096/1000000000

์ƒ์„ฑํ•œ Table์˜ ์‚ฌ์šฉํ•  Column์˜ Data Type์€ ๋ชจ๋‘ Text ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด select fnc1('P'); ์ด๋ผ๊ณ  ์ˆ˜ํ–‰ํ–ˆ์„ ๋•Œ๋Š” ๊ฒฐ๊ณผ๊ฐ’์ด 1๋กœ ์ •์ƒ์ ์œผ๋กœ ๋ฆฌํ„ด๋˜๋Š”๋ฐ,

select fnc1(column1) from table1; ์ด๋ผ๊ณ  ์ˆ˜ํ–‰ํ•  ๊ฒฝ์šฐย ERROR: internal error: null ์ด๋ผ๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” Tajo Version์€ 0.11.1 ์ธ๋ฐ, ์—…๋ฐ์ดํŠธ ๋กœ๊ทธ๋ฅผ ์‚ดํŽด๋ณด๋‹ˆ internal error ๊ด€๋ จ ๋ฒ„๊ทธ๋ฅผ ์žก์œผ์…จ๋‹ค๋Š” ๊ธ€์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ํ˜น์‹œ 0.11.3 ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์žฌ์„ค์น˜๋ฅผ ํ•ด์•ผํ• ๊นŒ์š”?

๋งŒ์•ฝ ํ•ด๊ฒฐ์ฑ…์ด ์žˆ๋‹ค๋ฉด, ๋„์›€์„ ๋ถ€ํƒ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.


Jihoon Son

unread,
Jun 29, 2016, 9:06:22โ€ฏAM6/29/16
to topcl...@gmail.com, Apache Tajo ํ•œ๊ตญ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน
์•ˆ๋…•ํ•˜์„ธ์š”, ๋ ˆํฌํŒ… ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
ํ™•์ธํ•ด๋ณธ ๊ฒฐ๊ณผ ํ˜„์žฌ๊นŒ์ง€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ๋ฒ„๊ทธ์ž…๋‹ˆ๋‹ค.ย https://issues.apache.org/jira/browse/TAJO-2168ย ํ‹ฐ์ผ“์—์„œ ์ง„ํ–‰ ์ƒํ™ฉ์„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์—๋Ÿฌ๋Š” ์ž…๋ ฅ ์งˆ์˜๊ฐ€ select์™€ from์œผ๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ๋‹จ์ˆœํ•œ ์งˆ์˜์ผ ๊ฒฝ์šฐ์—๋งŒ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ณ„๋กœ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์•„๋‹ˆ์ง€๋งŒ ๋‹ค์Œ์ฒ˜๋Ÿผ ํ”ผํ•ด๊ฐ€์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

default> select fnc1(column1) from table1 where 1 = 1;

์—๋Ÿฌ๊ฐ€ ํ•ด๊ฒฐ๋˜๋ฉด ๋‹ค์‹œ ๋ฉ”์ผ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.
์†์ง€ํ›ˆ ๋“œ๋ฆผ

2016๋…„ 6์›” 29์ผ (์ˆ˜) ์˜ค์ „ 10:54, <topcl...@gmail.com>๋‹˜์ด ์ž‘์„ฑ:

topcl...@gmail.com

unread,
Jun 29, 2016, 10:39:18โ€ฏPM6/29/16
to Apache Tajo ํ•œ๊ตญ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน, topcl...@gmail.com
์•ˆ๋…•ํ•˜์„ธ์š”. ๋จผ์ € ๋‹ต๋ณ€ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์šฐ์„  ์ œ์‹œํ•ด์ฃผ์‹  ๋ฐฉ๋ฒ•๋Œ€๋กœ where 1 = 1 ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰์‹œํ‚จ ๊ฒฐ๊ณผ, Output์ด ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋งํฌ ์ฃผ์‹  ํ‹ฐ์ผ“์—์„œ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๊ณ„์† ํ™•์ธํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ณ„๊ฐœ๋กœ, UDF ๊ด€๋ จ ๋งค๋‰ด์–ผ์˜ output type๊ณผ ๊ด€๋ จํ•˜์—ฌ python์˜ ์˜ˆ์ œ์ฝ”๋“œ์˜ ๋‚ด์šฉ์ด ์กฐ๊ธˆ ๋ถ€์กฑํ•œ ๊ฒƒ์ด ์•„์‰ฝ์Šต๋‹ˆ๋‹ค.

์˜ˆ์ œ์ฝ”๋“œ์— Decorator ๊ด€๋ จํ•œ ๋‚ด์šฉ์ด ์žˆ์œผ๋ฉด ์กฐ๊ธˆ ๋” ์œ ์ €๋“ค์—๊ฒŒ ์‰ฝ๊ฒŒ ๋А๊ปด์ง€์ง€ ์•Š์„๊นŒ ์‹ถ์Šต๋‹ˆ๋‹ค. Tajo Python ๋‚ด tajo_util.py์˜ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ์–ด๋– ํ• ์ง€์š”?

def output_type(*type_str):
ย  ย  def wrap(f):
ย  ย  ย  ย  def wrapped_f(*args):
ย  ย  ย  ย  ย  ย  return f(*args)
ย  ย  ย  ย  return wrapped_f
ย  ย  return wrap

์กฐ๊ธˆ์ด๋‚˜๋งˆ ์ €๊ฐ™์€ ์ดˆ๋ณด์ž์—๊ฒŒ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉด ํ•˜๋Š” ๋งˆ์Œ์— ์ œ์•ˆ ๋“œ๋ ค ๋ด…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ–ฅํ›„ ์ œ๊ฐ€ ํ˜„์žฌ ๊ฐœ๋ฐœ ์ค‘์ธ System์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜๋ฉด, ์ €ํฌ ํšŒ์‚ฌ๋„ Powered By ํ•ญ๋ชฉ์— ์ถ”๊ฐ€๊ฐ€ ๊ฐ€๋Šฅํ• ๊นŒ์š”?

๋งˆ์ง€๋ง‰์œผ๋กœ ๋น ๋ฅธ ๋Œ€์‘์— ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. :)

๊น€ํ˜•์ค€ ๋“œ๋ฆผ


2016๋…„ 6์›” 29์ผ ์ˆ˜์š”์ผ ์˜คํ›„ 10์‹œ 6๋ถ„ 22์ดˆ UTC+9, Jihoon Son ๋‹˜์˜ ๋ง:

Jihoon Son

unread,
Jun 30, 2016, 7:09:10โ€ฏPM6/30/16
to topcl...@gmail.com, Apache Tajo ํ•œ๊ตญ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน
์˜๊ฒฌ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
ํŒŒ์ด์ฌ udf ๋ถ€๋ถ„์€ ์•„์ง ๋ฏธํกํ•œ ๋ถ€๋ถ„์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ง์”€ํ•ด์ฃผ์‹  output_type decorator์— ๋Œ€ํ•œ ์„ค๋ช…์ด ๋ถ€์กฑํ•œ ๊ฒƒ๋„ ๊ทธ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ๋ฏธํกํ•œ ๋ถ€๋ถ„๋“ค์„ ๊ฐœ์„ ํ•˜๋ฉด์„œ ์˜๊ฒฌ ์ฃผ์‹  ๊ฒƒ๋„ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  powered by ์ถ”๊ฐ€๋Š” ์–ธ์ œ๋“ ์ง€ ํ™˜์˜์ž…๋‹ˆ๋‹ค! ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ ์ค‘์— ํƒ€์กฐ์— ๊ด€๋ จํ•ด์„œ ์งˆ๋ฌธ ์žˆ์œผ์‹œ๋ฉด ์–ธ์ œ๋“  ์˜ฌ๋ ค์ฃผ์„ธ์š”.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
์†์ง€ํ›ˆ ๋“œ๋ฆผ

topcl...@gmail.com

unread,
Jul 1, 2016, 5:02:35โ€ฏAM7/1/16
to Apache Tajo ํ•œ๊ตญ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน, topcl...@gmail.com
์ž‘์€ ์˜๊ฒฌ์ž„์—๋„ ์ ๊ทน์ ์œผ๋กœ ์ˆ˜์šฉํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ ๊ฐœ๋ฐœ ๋ฐ ํ…Œ์ŠคํŠธ ๊ณผ์ • ์ค‘ ๋‹ค๋ฅธ ์งˆ๋ฌธ์„ ํ•˜๋‚˜ ๋“œ๋ฆฌ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ์„œ๋ฒ„ ํ•œ ๋Œ€์— Hadoop 2.6.0 Single Node์™€ HDFS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Tajo Distribute Mode (Not local cluster)๋ฅผ ๊ตฌ์ถ•ํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

AVG, SUM, Rank ๋“ฑ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์•ฝ 630๊ฐœ์˜ ์ฟผ๋ฆฌ๋ฅผ ๊ฐ๊ฐ ์ˆ˜ํ–‰ํ•˜์—ฌ External Table๋กœ๋ถ€ํ„ฐ ์ œ๊ฐ€ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ๋Š” ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜์ง€๋งŒ, ์กฐ๊ธˆ ๋” ์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œํ‚ค๊ณ  ์‹ถ์–ด์„œ ์ด๋ ‡๊ฒŒ ์งˆ๋ฌธ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์„œ๋ฒ„ ์‚ฌ์–‘์€ 24 vCores, 1 Physical Disk, 150 GB Memory ์ž…๋‹ˆ๋‹ค.

Documentation์— ์žˆ๋Š” ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ด๊ฒƒ์ €๊ฒƒ ๋งŽ์€ ์„ค์ •์„ ๊ฑด๋“œ๋ ค๋ณด์•˜๋Š”๋ฐ, ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์†๋„๋Š” ํฌ๊ฒŒ ์ฐจ์ด๊ฐ€ ์—†๊ณ  CPU core๊ฐ€ 1~2๊ฐœ ์ •๋„๋งŒ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค.

๋‹จ์ˆœํžˆ Single Node์—์„œ Test๋ฅผ ํ•˜๊ธฐ์— ๊ทธ๋Ÿฐ ๊ฒƒ์ธ์ง€, ์•„๋‹ˆ๋ฉด ์กฐ๊ธˆ ๋” Performance๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” (๋ชจ๋“  ์ž์›์„ ๋‹ค ์‚ฌ์šฉํ•˜์—ฌ ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š”?) ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

630๊ฐœ์˜ ์ฟผ๋ฆฌ๊ฐ€ ํ•œ๋ฒˆ์— ์ˆ˜ํ–‰๋˜๋ฉด ์ข‹์„ํ…๋ฐ, ๊ทธ ๋‚ด์šฉ์€ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์•„์ง ๊ฐœ๋ฐœ ์ค‘์ด์‹ ๊ฑธ๋กœ ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ์ข‹์€ ์ฃผ๋ง ๋˜์‹œ๊ณ  ๋‹ต๋ณ€์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค. :)


2016๋…„ 7์›” 1์ผ ๊ธˆ์š”์ผ ์˜ค์ „ 8์‹œ 9๋ถ„ 10์ดˆ UTC+9, Jihoon Son ๋‹˜์˜ ๋ง:

Jong-young Park

unread,
Jul 1, 2016, 5:25:21โ€ฏAM7/1/16
to topcl...@gmail.com, Apache Tajo ํ•œ๊ตญ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน
๋””์Šคํฌ๋ฅผ ๋” ๊ฝ‚์œผ์…”์•ผ๋งŒ ๋  ๊ฑฐ ๊ฐ™์€๋ฐ์š”...^^;;

๋””์Šคํฌ ํ•œ ๋Œ€๋ผ๋ฉด ์–ด์ฐจํ”ผ I/O์—์„œ ๋ณ‘๋ชฉ์ด ๊ฑธ๋ฆฌ๋ฏ€๋กœ CPU ์ฝ”์–ด๊ฐ€ ๋งŽ์•„๋„ ์ œ๋Œ€๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์—†์„๊ฒ๋‹ˆ๋‹ค.

Jinho Kim

unread,
Jul 1, 2016, 7:00:43โ€ฏAM7/1/16
to Apache Tajo ํ•œ๊ตญ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน, topcl...@gmail.com
์•ˆ๋…•ํ•˜์„ธ์š”.

์ฟผ๋ฆฌ ๋™์‹œ์‹คํ–‰์€ 0.11.0 ๋ถ€ํ„ฐ ๊ฐ€๋Šฅ ํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ฐ€๊ธ‰์  ์ตœ์‹ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด ์ฃผ์„ธ์š”
๊ทธ๋ฆฌ๊ณ  jvm heap, disk parallel ์„ ์กฐ์ ˆํ•˜์‹œ๋ฉด cpu core ์ˆ˜๋งŒํผ ๋‹ค ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

export TAJO_WORKER_HEAPSIZE=100000

- Task ๋‹น ์‚ฌ์šฉ๋  ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค. OOM์ด ๋‚œ๋‹ค๋ฉด ์ข€๋” ์˜ฌ๋ ค์ฃผ์„ธ์š”
<property>ย 
ย <name>tajo.task.resource.min.memory-mb</name>ย 
ย <value>5000</value>ย 
</property>ย 

- Disk 1๊ฐœ๋‹น ๋™์‹œ์‹คํ–‰์ž…๋‹ˆ๋‹ค. NVMe ๊ธ‰์ด๋ฉด ๋Œ€์—ญํญ / 100MB์ •๋„ ์ข‹์Šต๋‹ˆ๋‹ค.
ย <property>ย 
ย <name>tajo.worker.resource.disk.parallel-execution.num</name>ย 
ย <value>20</value>ย 
</property>


https://tajo.apache.org/docs/current/configuration/tajo-site-xml.html
- ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋งŽ์œผ๋‹ˆ broadcast ๋„ ์˜ฌ๋ ค์ฃผ์„ธ์š”
<property>
<name>tajo.dist-query.broadcast.non-cross-join.threshold-kb</name>
<value>50000</value>
</property>

- group by ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋” ํ™œ์šฉํ• ์ˆ˜ ์žˆ๊ฒŒ ์˜ฌ๋ ค์ฃผ์„ธ์š”
<property>
ย <name>tajo.executor.groupby.in-memory-hash-threshold-mb</name>ย 
ย <value>128</value>ย 
</property>

- hash shuffle ์‹œ Disk I/O ์—๋Œ€ํ•œ ๋ฒ„ํผ ์‚ฌ์ด์ฆˆ๋กœ ํด์ˆ˜๋ก flush ํšŸ์ˆ˜๊ฐ€ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

<property>

ย  <name>tajo.executor.hash-shuffle.buffer-mb</name>

ย  <value>200</value>

</property>


2016๋…„ 7์›” 1์ผ ๊ธˆ์š”์ผ ์˜คํ›„ 6์‹œ 2๋ถ„ 35์ดˆ UTC+9, topcl...@gmail.com ๋‹˜์˜ ๋ง:

Jihoon Son

unread,
Jul 3, 2016, 5:01:42โ€ฏAM7/3/16
to Jinho Kim, Apache Tajo ํ•œ๊ตญ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน, topcl...@gmail.com
์•ˆ๋…•ํ•˜์„ธ์š”, ๋ ˆํฌํŒ…ํ•ด์ฃผ์‹  ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋˜์–ด 0.11.4 branch์™€ master branch์— ๋ฐ˜์˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ์ค‘ 0.11.4 nightly build ๋ฒ„์ „์„ย https://builds.apache.org/job/Tajo-0.11.4-nightly/lastSuccessfulBuild/artifact/tajo-dist/target/tajo-0.11.4-SNAPSHOT.tar.gzย ์—์„œ ๋‹ค์šด๋ฐ›์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
์†์ง€ํ›ˆ ๋“œ๋ฆผ

2016๋…„ 7์›” 1์ผ (๊ธˆ) ์˜คํ›„ 8:00, Jinho Kim <jin...@gmail.com>๋‹˜์ด ์ž‘์„ฑ:

topcl...@gmail.com

unread,
Jul 3, 2016, 10:39:27โ€ฏPM7/3/16
to Apache Tajo ํ•œ๊ตญ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน, topcl...@gmail.com
์ฃผ์˜๋‹˜, ์•ˆ๋…•ํ•˜์„ธ์š”.

๋‹ต๋ณ€์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ๋‹ด๋‹น์ž์™€ ์–˜๊ธฐํ•ด๋ณด๊ณ  ๋””์Šคํฌ๋ฅผ ๋” ๊ฝ‚๋Š” ๋ฐฉ๋ฒ•๋„ ์ƒ๊ฐํ•ด๋ด์•ผ ๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ข‹์€ ํ•˜๋ฃจ ๋˜์„ธ์š”. :)

2016๋…„ 7์›” 1์ผ ๊ธˆ์š”์ผ ์˜คํ›„ 6์‹œ 25๋ถ„ 21์ดˆ UTC+9, Jong-young Park ๋‹˜์˜ ๋ง:

topcl...@gmail.com

unread,
Jul 3, 2016, 10:42:15โ€ฏPM7/3/16
to Apache Tajo ํ•œ๊ตญ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน, jin...@gmail.com, topcl...@gmail.com
์ง„ํ˜ธ๋‹˜, ์ง€ํ›ˆ๋‹˜ ์•ˆ๋…•ํ•˜์„ธ์š”.

์ฃผ๋ง์€ ์ž˜ ๋ณด๋‚ด์…จ๋‚˜์š”? ๋จผ์ € ์ƒ์„ธํ•œ ๋‹ต๋ณ€๊ณผ ๋ฒ„๊ทธ ์ˆ˜์ •์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ง„ํ˜ธ๋‹˜๊ป˜ ํ•œ ๊ฐ€์ง€ ์งˆ๋ฌธ์ด ๋” ์žˆ๋Š”๋ฐ์š”, ์ฟผ๋ฆฌ ๋™์‹œ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๋œป์— ๋Œ€ํ•ด์„œ ์กฐ๊ธˆ ํ˜ผ๋™์ด ์™€์„œ ๋‹ค์‹œ ์—ฌ์ญค๋ด…๋‹ˆ๋‹ค.

์ง€๋‚œ๋ฒˆ์— ๋ง์”€๋“œ๋ ธ๋‹ค์‹œํ”ผ, 630๊ฐœ์˜ AVG, SUM, Rank ๋“ฑ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ฟผ๋ฆฌ์ด๊ณ  select๋ฅผ ํ•œ ํ›„ HDFS์— Insert ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

Documentation์„ ์ฐธ๊ณ ํ•˜์—ฌ file์„ ์ƒ์„ฑํ•ด์„œ tsql -f SQL.txt๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์•˜์ง€๋งŒ, ์ˆœ์ฐจ์ ์œผ๋กœ ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋Š”๋ฐ ์ด๊ฒŒ ๋ง์”€ํ•˜์‹  ๋ถ€๋ถ„ ๋™์‹œ์‹คํ–‰์ธ ๊ฒƒ์ธ์ง€,

์•„๋‹ˆ๋ฉด 630๊ฐœ๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋”ฐ๋กœ ์žˆ๋Š” ๊ฒƒ์ธ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. (๊ฐ๊ฐ์˜ Session ๊ฐœ๋…์œผ๋กœ)

๊ธฐ์ดˆ์ ์ธ ์งˆ๋ฌธ์„ ๋งค๋ฒˆ ๋“œ๋ฆฌ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ๊ตฌ์ถ• ์—…๋ฌด์— ๋งŽ์€ ๋„์›€์ด ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ญ์ƒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. :)

2016๋…„ 7์›” 3์ผ ์ผ์š”์ผ ์˜คํ›„ 6์‹œ 1๋ถ„ 42์ดˆ UTC+9, Jihoon Son ๋‹˜์˜ ๋ง:

Jinho Kim

unread,
Jul 12, 2016, 7:04:01โ€ฏAM7/12/16
to Apache Tajo ํ•œ๊ตญ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน, jin...@gmail.com, topcl...@gmail.com
์•ˆ๋…•ํ•˜์„ธ์š”. ๋‹ต๋ณ€์ด ๋งŽ์ด ๋Šฆ์—ˆ๋„ค์š”.

cron, zenkins, workflow tool, ๋˜๋Š” TajoClient ๋กœ ์ง์ ‘ ํ•˜์‹ค์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ฑ๊ณต ์‹คํŒจ์—ฌ๋ถ€๋ฅผ ๊ธฐ๋กํ•˜์‹ ๋‹ค๋ฉด tsql ๋ณด๋‹ค๋Š” ์ ์€ ๋…ธ๋ ฅ์ด ๋“ค๊ฒ ๋„ค์š”.
tsql ๋กœ ์‹คํ–‰ํ•˜๋ฉด ์ฝ˜์†”๋กœ stdio ๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด 1๊ฐœ์˜ ์„ธ์…˜์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. ย -B ์˜ต์…˜์„ ์ฃผ๋ฉด background ๋กœ ์‹คํ–‰๋˜๋Š”๋ฐ์š”ย 
ํ…Œ์ŠคํŠธ ํ•ด๋ณธ๊ฒฐ๊ณผ cli ๊ฐ€ ์ž˜ ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฑด ๊ณง ๊ณ ์ณ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.


2016๋…„ 7์›” 4์ผ ์›”์š”์ผ ์˜ค์ „ 11์‹œ 42๋ถ„ 15์ดˆ UTC+9, topcl...@gmail.com ๋‹˜์˜ ๋ง:

topcl...@gmail.com

unread,
Jul 13, 2016, 7:52:42โ€ฏPM7/13/16
to Apache Tajo ํ•œ๊ตญ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน, jin...@gmail.com, topcl...@gmail.com
์•ˆ๋…•ํ•˜์„ธ์š”.

๋‹ต๋ณ€ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์—ญ์‹œ tsql์—์„œ๋Š” 1๊ฐœ์˜ ์„ธ์…˜์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋Š”๊ตฐ์š”.

์—ฌ๋Ÿฌ๊ฐœ์˜ ์ฟผ๋ฆฌ๋ฅผ ํ•œ๊บผ๋ฒˆ์— ์ˆ˜ํ–‰ํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ•˜๋‹ค ์šฐ์„  UNION ALL๋กœ ํ•œ ํ…Œ์ด๋ธ”์— ๋„ฃ๋Š” ๊ฒƒ์œผ๋กœ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

System ๊ฐœ๋ฐœ ์ง„ํ–‰ ๊ณผ์ • ์ค‘ Tajo์™€ ๊ด€๋ จํ•ด์„œ ์˜๋ฌธ์ด ๋“ค๋ฉด ๋‹ค์‹œ ๊ณต์œ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ์ข‹์€ ํ•˜๋ฃจ ๋˜์„ธ์š”!ย 

2016๋…„ 7์›” 12์ผ ํ™”์š”์ผ ์˜คํ›„ 8์‹œ 4๋ถ„ 1์ดˆ UTC+9, Jinho Kim ๋‹˜์˜ ๋ง:
Reply all
Reply to author
Forward
0 new messages