๐ปTech/๐ฆImpala
impala ๋ช ๋ น์ด ์ ๋ฆฌ
_viper_
2021. 8. 24. 13:27
๋ฐ์ํ
โพ Impala ์ต์ ๊ฐ ํ์ธ
SET ALL;
โพ ํ์ผ์ ๋ถํ ํ์ง ์๊ณ 1๊ฐ ํ์ผ๋ก ์์ฑํ๊ณ ์ถ์ ๋ ์๋ ์ต์
์ ์ฉ ํ insert ์ฟผ๋ฆฌ ์คํ
SET NUM_NODES=1;
โพ impala shell ์ ์
impala-shell -i impala.host.com:21000 -d default -l -u admin --auth_creds_ok_in_clear
โพ ํ ์ด๋ธ ํต๊ณ ์ ๋ณด ์์ง (์ฟผ๋ฆฌ ์ฑ๋ฅ ํฅ์, memory ๋ถ์กฑ ์ค๋ฅ ๋ฐ์ ์๋ฐฉ)
COMPUTE STATS {TABLE_NM}
โพ ๊ฐ๋ตํ ํ ์ด๋ธ ์ ๋ณด ํ์ธ (Rows, ํ์ผ ์, ํ ์ด๋ธ size ๋ฑ ์ ๋ณด ํ์ธ)
SHOW TABLE STATS {TABLE_NM}
โพ ํ ์ด๋ธ ์์ธ ์ ๋ณด ํ์ธ
DESCRIBE FORMATTED {TABLE_NM}
โพ SQL ์ํ ์ ํด๋น ์ฟผ๋ฆฌ ์ง๋จํ์ฌ hint๋ฅผ ์ค (Heavy Query ์ํ ์ ์คํํ๋ฉด ๋์์ด ๋ ๋ฏ)
EXPLAIN select * from {TABLE_NM};
โพ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ด ์๊ฒผ์ ๋ ์ํ
- INVALIDATE METADATA : ํ
์ด๋ธ ์์ฑ์ด๋ ์ญ์ ์ ์ํ ํ์
REFRESH {TABLE_NM}; --์ผ๋ฐ ํ
์ด๋ธ
REFRESH bus_boarding_part PARTITION(work_dt='20191104'); --ํํฐ์
ํ
์ด๋ธ
โพ ํ ์ด๋ธ์ ๋ฐ์ดํฐ ํ์ผ๋ช ๋ฐ ์ฌ์ด์ฆ ํ์ธ
SHOW FILES IN {TABLE_NM}; --์ผ๋ฐ ํ
์ด๋ธ
SHOW FILES IN bus_boarding_part PARTITION(work_dt='20191104'); --ํํฐ์
ํ
์ด๋ธ
โพ ํํฐ์ ์์ฑ
ALTER TABLE {TABLE_NM} RECOVER PARTITIONS; --๋น ์ง๊ฑฐ ์ฐพ์์ ์ฑ์์ค
โพ impala ์ตํฐ๋ง์ด์ ์์ ์๋์ผ๋ก Join ์์๋ฅผ ์ต์ ํํ์ง ๋ชป ํ ๊ฒฝ์ฐ, ๋งค๋ด์ผํ๊ฒ ํ ์ด๋ธ Join ์์ ์ง์ ํ์ฌ ์ฑ๋ฅ ํฅ์์ ๋์์ ์ค
STRAIGHT_JOIN
โพ Impala SQL ์ต์ ํ ๊ด๋ จ ๋งํฌ
๐ https://impala.apache.org/docs/build/html/topics/impala_hints.html
โพ String ๋ ์ง > Timestamp ๋ ์ง๋ก ๋ณ๊ฒฝ > Timestamp date ํฌ๋งท ๋ณ๊ฒฝ > String ์ ์ฅ
from_timestamp(to_timestamp('220329 211243.165608', 'yyMMdd HHmmss.SSSSSS'), 'yyyy-MM-dd HH:mm:ss.SSSSSS')
โพ impala executor์ instance(thread)๋ฅผ ๋๋ ค ์ฒ๋ฆฌ
- mt_dop=2๋ก ์ค์ ํ๋ฉด executor 3๊ฐ ์ผ ๊ฒฝ์ฐ (3*2)๋ก ์ฒ๋ฆฌ๋จ
set mt_dop=2;
โพ impala coordinator๋ฅผ 2๋ ์ด์ ์ง์ ํ๊ณ ๋ก๋๋ฐธ๋ฐ์ค ๊ตฌ์ฑ์ ํ์ ๋ ํด๋น coord๊ฐ ์คํค๋ง ๋๊ธฐํ ๋ฌธ์ ๋ฐ์ ์๋ฐฉ
๐ https://docs.cloudera.com/documentation/enterprise/6/6.3/topics/impala_sync_ddl.html
set sync_ddl=true;
โพ timestamp ๋ฐ์ดํฐ ํ์ ์ ์ฌ์ฉํ๋ฉด SQL ์๋๊ฐ ๋ง์ด ๋๋ ค์ง๋ฏ๋ก string ์ฌ์ฉ์ด ์ข์ (๋น๊ต ๊ฒฐ๊ณผ)
โพ impala shell ์ต์
- -f : sql ํ์ผ ์คํ
- -B : ์ถ๋ ฅ ๊ฒฐ๊ณผ ํ ํํ ์ ๊ฑฐ (ํ ์คํธ ๊ฐ๋ง ์ถ์ถ)
- -c : ์ค๋ฅ ๋ฐ์ํด๋ ๊ณ์ ์งํ (--ignore_query_failure)
- --quiet : ์คํ ๋ก๊ทธ ๋ฑ ์์ด ๊ฒฐ๊ณผ ์ถ๋ ฅ
- -k : ์ปค๋ฒ๋ก์ค ์ธ์ฆ ์ฌ์ฉ
- ์ ์ต์ ๋ค๋ก impala-shell ์ํํ์ฌ ๊ฒฐ๊ณผ ๊ฐ๋ง ์ป์ด์ ๋ณ์์ ์ ์ฅ ํ shell for๋ฌธ ์ฌ์ฉ ํ์ต๋๋ค.
โพ impala 'waiting to be closed' query ์ข ๋ฃ python ์ฝ๋
๐ https://cloudaeon.co.uk/how-to-resolve-top-performance-issue-in-impala/