์ ์ฒด ๊ธ
- Greedy ํ์์ 2022.02.26
- [7์ฅ] ํ์ดํ๋ผ์ธ ์ค์ผ์คํธ๋ ์ด์ 2022.02.21
- [3์ฅ] ์ผ๋ฐ์ ์ธ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ํจํด 2022.02.21
- [1์ฅ] ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ์๊ฐ 2022.02.20
- ๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ ํ์ - 1 2022.02.16
- ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ํต์ฌ ๊ฐ์ด๋ ๋ฆฌ๋ทฐ ์์ 2022.02.15
- [kudu] apache kudu ๋ (23.12.01 ์์ ) 2021.12.14
- [Apache NiFi] ์ํ์น ๋์ดํ์ด ๋? 2021.12.06
- lamda arch 2021.11.22
- [Hadoop] Block Pool 2021.11.12
Greedy ํ์์
[7์ฅ] ํ์ดํ๋ผ์ธ ์ค์ผ์คํธ๋ ์ด์
๋ฐฉํฅ์ฑ ๋น์ํ ๊ทธ๋ํ DAG(Directed Acyclic Graph)
apche spark๋ฅผ ์ ํด๋ดค๋ค๋ฉด, DAG๋ผ๋ ์ฉ์ด๊ฐ ์ต์ํ ์ ์๋ค.
๋ฐฉํฅ์ฑ ๋น์ํ ๊ทธ๋ํ๋ผ๋ ๋ง์์ฒด ์ดํดํ๊ธฐ ์ข ์ด๋ ต์ง๋ง ๊ทธ๋ฆผ์ผ๋ก ๋ณด๋ฉด ์ดํด๊ฐ ์ฝ๋ค.
Airflow ๐ช
์ต๊ทผ ๋ฐ์ดํฐ ์์ง๋์ด ์ง๋ฌด ์ฑ์ฉ๊ณต๊ณ ๋ฅผ ๋ณด๋ฉด Airflow ์ฌ์ฉ๊ฒฝํ์ ์ฐ๋ํด ์ฃผ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
๋ชจ๋ ์คํ์์ค๋ฅผ ์ ํด์ ๊ณต๋ถํ ์ ์๋ค๊ณ ์๊ฐํ๊ธฐ๋ ํ์ง๋ง, ๊ฐ๋จํ๊ฒ ์ค์น๊น์ง๋ ์ฝ๊ฒ ํ ์ ์์ผ๋๊น ใ
๊ทธ๋ฆฌ๊ณ ์คํ์์ค ํ๋๊ฐ๋ง ์ ํด์ ์ ๋๋ก ๊ณต๋ถํด๋ ๋ค๋ฅธ๊ฑธ ์ธ๋๋ ์ด๋ ต์ง์๊ฒ ์ฌ์ฉํ๊ฑฐ๋ ๊ธ๋ฐฉ ๋ฐฐ์ธ ์ ์๋ ๊ฒ ๊ฐ๋ค.
https://airflow.apache.org/docs/apache-airflow/stable/start/local.html
Running Airflow locally — Airflow Documentation
airflow.apache.org
๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๋ธ๋ก์ ๋ฌถ๊ฑฐ๋ ์ค์ผ์คํธ๋ ์ด์ ํ๋ ํ๋ซํผ ๋๋ ํ๋ ์์ํฌ (๊ฐ๋จํ๊ฒ๋ ์ค์ผ์ค๋ฌ ๋๋)
Hadoop์ ์ข ์๋์ง์์ Python์ผ๋ก ๊ฐ๋ฐ๊ฐ๋ฅํจ
1. ํ๊ฒฝ ์ธํ (๋ฆฌ๋ ์ค RedHat)
kerberos openldap๊ณผ ๊ฐ์ ํจํค์ง๋ค ์ ์ค์นํ์
sudo yum install -y \
freetds \
freetds-devel \
krb5-server krb5-libs krb5-auth-dialog \
openldap openldap-clients openldap-servers \
libffi \
cyrus-sasl-plain cyrus-sasl\ (libsasl2 ๋์ )
openssl-devel \
redhat-lsb \
sqlite \
unixODBC
๊ทผ๋ฐ ๋ณด์๊น์ง ์ค์ ํ๋ฉด์ ๊ณต๋ถํ์ง์์ ์์ ์ด๋ผ ์๊ณผ์ ์ ์๋ต ์ถํ๋ฅผ ์ํด (๊ณต์์ฌ์ดํธ์ ์ฐ๋ถํฌ๊ธฐ์ค ๋ ๋ํ๊ณ์ด ์ฐพ์๋ณด๋๊ฐํด์ผํ๋ค)
2. Airflow ๋ค์ด๋ก๋ ๋ฐฉ๋ฒ
- Apache Mirror์์ ๋ค์ด https://dlcdn.apache.org/airflow/2.2.4/apache-airflow-2.2.4.tar.gz
- Github git clone -b v2-2-stable --single-branch https://github.com/apache/airflow.git
- ๊ณต์์ฌ์ดํธ https://airflow.apache.org/docs/apache-airflow/stable/installation/installing-from-sources.html
1๋ฒ ๋ฐฉ๋ฒ์ผ๋ก Airflow ์ค์น
$ sudo wget https://dlcdn.apache.org/airflow/2.2.4/apache-airflow-2.2.4.tar.gz --no-check-certificate
build
python3 -m venv /opt/apache-airflow-2.2.4/
source /opt/apache-airflow-2.2.4/bin/activate
airflow ์คํ
./airflow webserver -p 8080
____________ _____________
____ |__( )_________ __/__ /________ __
____ /| |_ /__ ___/_ /_ __ /_ __ \_ | /| / /
___ ___ | / _ / _ __/ _ / / /_/ /_ |/ |/ /
_/_/ |_/_/ /_/ /_/ /_/ \____/____/|__/
'๋ฏธ์ฌ์ฉ > [ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ํต์ฌ ๊ฐ์ด๋๐ฆ ]' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[3์ฅ] ์ผ๋ฐ์ ์ธ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ํจํด (0) | 2022.02.21 |
---|---|
[1์ฅ] ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ์๊ฐ (0) | 2022.02.20 |
๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ํต์ฌ ๊ฐ์ด๋ ๋ฆฌ๋ทฐ ์์ (0) | 2022.02.15 |
[3์ฅ] ์ผ๋ฐ์ ์ธ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ํจํด
Extract - ์ถ์ถ
Transform - ๋ณํ
Load - ๋ก๋
ETL
ELT
EtLT
'๋ฏธ์ฌ์ฉ > [ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ํต์ฌ ๊ฐ์ด๋๐ฆ ]' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[7์ฅ] ํ์ดํ๋ผ์ธ ์ค์ผ์คํธ๋ ์ด์ (0) | 2022.02.21 |
---|---|
[1์ฅ] ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ์๊ฐ (0) | 2022.02.20 |
๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ํต์ฌ ๊ฐ์ด๋ ๋ฆฌ๋ทฐ ์์ (0) | 2022.02.15 |
[1์ฅ] ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ์๊ฐ
๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ - ๋ค์ํ ์์ค์์ ์๋ก์ด ๊ฐ์น๋ฅผ ์ป์์ ์๋ ๋์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฎ๊ธฐ๊ณ ๋ณํํ๋ ์ผ๋ จ์ ๊ณผ์ ์ด๋ค
'๋ฏธ์ฌ์ฉ > [ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ํต์ฌ ๊ฐ์ด๋๐ฆ ]' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[7์ฅ] ํ์ดํ๋ผ์ธ ์ค์ผ์คํธ๋ ์ด์ (0) | 2022.02.21 |
---|---|
[3์ฅ] ์ผ๋ฐ์ ์ธ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ํจํด (0) | 2022.02.21 |
๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ํต์ฌ ๊ฐ์ด๋ ๋ฆฌ๋ทฐ ์์ (0) | 2022.02.15 |
๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ ํ์ - 1
python3 -m pip install Django
django-admin startprogect web_study
๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ํต์ฌ ๊ฐ์ด๋ ๋ฆฌ๋ทฐ ์์
01์ฅ: ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ์๊ฐ
๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ด๋?
๋๊ฐ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ ๊น?
___SQL๊ณผ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ง ๊ธฐ์ด
___ํ์ด์ฌ ๊ทธ๋ฆฌ๊ณ /๋๋ ์๋ฐ
___๋ถ์ฐ ์ปดํจํ
___๊ธฐ๋ณธ ์์คํ
๊ด๋ฆฌ
___๋ชฉํ ์งํฅ์ ์ฌ๊ณ ๋ฐฉ์
์ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ ๊น?
์ด๋ป๊ฒ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ ๊น?
02์ฅ: ์ต์ ๋ฐ์ดํฐ ์ธํ๋ผ
๋ฐ์ดํฐ ์์ค์ ๋ค์์ฑ
___์์ค ์์คํ
์์ ๊ถ
___์์ง ์ธํฐํ์ด์ค ๋ฐ ๋ฐ์ดํฐ ๊ตฌ์กฐ
___๋ฐ์ดํฐ ์ฌ์ด์ฆ
___๋ฐ์ดํฐ ํด๋ ์ง ์์
๊ณผ ์ ํจ์ฑ ๊ฒ์ฌ
___์์ค ์์คํ
์ ์ง์ฐ ์๊ฐ ๋ฐ ๋์ญํญ
ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ๋ฐ ๋ฐ์ดํฐ ๋ ์ดํฌ
๋ฐ์ดํฐ ์์ง ๋๊ตฌ
๋ฐ์ดํฐ ๋ณํ ๋ฐ ๋ชจ๋ธ๋ง ๋๊ตฌ
์ํฌํ๋ก ์ค์ผ์คํธ๋ ์ด์
ํ๋ซํผ
___๋ฐฉํฅ์ฑ ๋น์ํ ๊ทธ๋ํ
๋ฐ์ดํฐ ์ธํ๋ผ ์ปค์คํฐ๋ง์ด์ง
03์ฅ: ์ผ๋ฐ์ ์ธ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ํจํด
ETL๊ณผ ELT
ETL์ ๋์ด์ ELT์ ๋ฑ์ฅ
EtLT ํ์ ํจํด
๋ฐ์ดํฐ ๋ถ์์ ์ํ ELT
๋ฐ์ดํฐ ๊ณผํ์ ์ํ ELT
๋ฐ์ดํฐ ์ ํ ๋ฐ ๋จธ์ ๋ฌ๋์ ์ํ ELT
___๋จธ์ ๋ฌ๋ ํ์ดํ๋ผ์ธ์ ๋จ๊ณ
___ํ์ดํ๋ผ์ธ์ ํผ๋๋ฐฑ ํตํฉ
___ML ํ์ดํ๋ผ์ธ์ ๋ํ ์ถ๊ฐ ์๋ฃ
04์ฅ: ๋ฐ์ดํฐ ์์ง: ๋ฐ์ดํฐ ์ถ์ถ
ํ์ด์ฌ ํ๊ฒฝ ์ค์
ํด๋ผ์ฐ๋ ํ์ผ ์คํ ๋ฆฌ์ง ์ค์
MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ ์ถ์ถ
___์ ์ฒด ๋๋ ์ฆ๋ถ MySQL ํ
์ด๋ธ ์ถ์ถ
___MySQL ๋ฐ์ดํฐ์ ์ด์ง ๋ก๊ทธ ๋ณต์
PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ ์ถ์ถ
___์ ์ฒด ๋๋ ์ฆ๋ถ Postgres ํ
์ด๋ธ ์ถ์ถ
___Write-Ahead ๋ก๊ทธ๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ ๋ณต์
MongoDB์์ ๋ฐ์ดํฐ ์ถ์ถ
REST API์์ ๋ฐ์ดํฐ ์ถ์ถ
์นดํ์นด ๋ฐ Debezium์ ํตํ ์คํธ๋ฆฌ๋ฐ ๋ฐ์ดํฐ ์์ง
05์ฅ: ๋ฐ์ดํฐ ์์ง: ๋ฐ์ดํฐ ๋ก๋
Amazon Redshift ์จ์ดํ์ฐ์ค๋ฅผ ๋์์ผ๋ก ๊ตฌ์ฑ
Redshift ์จ์ดํ์ฐ์ค์ ๋ฐ์ดํฐ ๋ก๋
___์ฆ๋ถ ๋ฐ ์ ์ฒด ๋ก๋
___CDC ๋ก๊ทธ์์ ์ถ์ถํ ๋ฐ์ดํฐ ๋ก๋
Snowflake ์จ์ดํ์ฐ์ค๋ฅผ ๋์์ผ๋ก ๊ตฌ์ฑ3
Snowflake ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ ๋ฐ์ดํฐ ๋ก๋
ํ์ผ ์คํ ๋ฆฌ์ง๋ฅผ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ก ์ฌ์ฉ
์คํ ์์ค ํ๋ ์์ํฌ
์์
์ ๋์
06์ฅ: ๋ฐ์ดํฐ ๋ณํํ๊ธฐ
๋น๋ฌธ๋งฅ์ ๋ณํ
___ํ
์ด๋ธ์์ ๋ ์ฝ๋ ์ค๋ณต ์ ๊ฑฐ
___URL ํ์ฑ
์ธ์ ๋ณํํ ๊ฒ์ธ๊ฐ, ์์ง ์ค ํน์ ์์ง ํ?
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๊ธฐ์ด
___์ฃผ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์ฉ์ด
___์์ ํ ์๋ก ๊ณ ์นจ ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
___์์ ํ ์๋ก ๊ณ ์นจ ๋ ๋ฐ์ดํฐ์ ์ฐจ์์ ์ฒ์ฒํ ๋ณ๊ฒฝ
___์ฆ๋ถ ์์ง๋ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
___์ถ๊ฐ ์ ์ฉ(Append-only) ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
___๋ณ๊ฒฝ ์บก์ฒ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
07์ฅ: ํ์ดํ๋ผ์ธ ์ค์ผ์คํธ๋ ์ด์
___๋ฐฉํฅ์ฑ ๋น์ํ ๊ทธ๋ํ
์ํ์น ์์ดํ๋ก์ฐ ์ค์ ๋ฐ ๊ฐ์
___์ค์น ๋ฐ ๊ตฌ์ฑ
___์์ดํ๋ก์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค
___์น ์๋ฒ ๋ฐ UI
___์ค์ผ์ค๋ฌ
___์คํ๊ธฐ(Executors)
___์ฐ์ฐ์(Operators)
์์ดํ๋ก์ฐ DAG ๊ตฌ์ถ
___๊ฐ๋จํ DAG
___ELT ํ์ดํ๋ผ์ธ DAG
์ถ๊ฐ ํ์ดํ๋ผ์ธ ์์
___๊ฒฝ๊ณ ๋ฐ ์๋ฆผ
___๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฌ
๊ณ ๊ธ ์ค์ผ์คํธ๋ ์ด์
๊ตฌ์ฑ
___๊ฒฐํฉ๋ ํ์ดํ๋ผ์ธ ์์
๋ ๊ฒฐํฉ๋์ง ์์ ํ์ดํ๋ผ์ธ ์์
___DAG๋ฅผ ๋ถํ ํด์ผ ํ๋ ๊ฒฝ์ฐ
___์ผ์๋ก ์ฌ๋ฌ DAG ์กฐ์
๊ด๋ฆฌํ ์์ดํ๋ก์ฐ ์ต์
๊ธฐํ ์ค์ผ์คํธ๋ ์ด์
ํ๋ ์์ํฌ
์ผ์ฐ ๊ทธ๋ฆฌ๊ณ ์์ฃผ ๊ฒ์ฆํ ๊ฒ
08์ฅ: ํ์ดํ๋ผ์ธ์ ๋ฐ์ดํฐ ๊ฒ์ฆ
___์์ค ์์คํ
๋ฐ์ดํฐ ํ์ง
___๋ฐ์ดํฐ ์์ง ์ํ
___๋ฐ์ดํฐ ๋ถ์๊ฐ ๊ฒ์ฆ ํ์ฑํ
๊ฐ๋จํ ๊ฒ์ฆ ํ๋ ์์ํฌ
___์ ํจ์ฑ ๊ฒ์ฌ๊ธฐ ํ๋ ์์ํฌ ์ฝ๋
___๊ฒ์ฆ ํ
์คํธ์ ๊ตฌ์กฐ
___๊ฒ์ฆ ํ
์คํธ ์คํ
___์์ดํ๋ก์ฐ DAG์์์ ์ฌ์ฉ
___ํ์ดํ๋ผ์ธ์ ์ค๋จํด์ผ ํ ๋์ ๊ฒฝ๊ณ ํ๊ณ ๊ณ์ํด์ผ ํ ๋
___ํ๋ ์์ํฌ์ ํ์ฅ
๊ฒ์ฆ ํ
์คํธ ์์
___์์ง ํ ์ค๋ณต๋ ๋ ์ฝ๋
___์์ง ํ์ ์๊ธฐ์น ์์ ํ ๊ฐ์
___์งํ ๊ฐ ๋ณ๋
์์ฉ ๋ฐ ์คํ ์์ค ๋ฐ์ดํฐ ๊ฒ์ฆ ํ๋ ์์ํฌ
์์ค ์์คํ
์ ๋ณ๊ฒฝ ์ฌํญ ์ฒ๋ฆฌ
09์ฅ: ํ์ดํ๋ผ์ธ ์ ์ง ๊ด๋ฆฌ ๋ชจ๋ฒ ์ฌ๋ก
___์ถ์ํ ๋์
___๋ฐ์ดํฐ ๊ณ์ฝ ์ ์ง ๊ด๋ฆฌ
___Schema-on-Read์ ๊ณ ๋ ค์ฌํญ
ํ์ฅ ๋ณต์ก์ฑ
___๋ฐ์ดํฐ ์์ง ํ์คํ
___๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๋ก์ง์ ์ฌ์ฌ์ฉ
___์ข
์์ฑ ๋ฌด๊ฒฐ์ฑ ๋ณด์ฅ
์ค์ ํ์ดํ๋ผ์ธ ์งํ
10์ฅ: ํ์ดํ๋ผ์ธ ์ฑ๋ฅ ์ธก์ ๋ฐ ๋ชจ๋ํฐ๋ง
๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ์ค๋น
___๋ฐ์ดํฐ ์ธํ๋ผ ์คํค๋ง
์ฑ๋ฅ ๋ฐ์ดํฐ ๋ก๊น
๋ฐ ์์ง
___์์ดํ๋ก์ฐ์์ DAG ์คํ ๊ธฐ๋ก ์์ง
___๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฌ๊ธฐ์ ๋ก๊น
์ถ๊ฐ
์ฑ๋ฅ ๋ฐ์ดํฐ ๋ณํ
___DAG ์ฑ๊ณต๋ฅ
___์๊ฐ ๊ฒฝ๊ณผ์ ๋ฐ๋ฅธ DAG ๋ฐํ์ ๋ณ๊ฒฝ
___๊ฒ์ฆ ํ
์คํธ ๋ณผ๋ฅจ ๋ฐ ์ฑ๊ณต๋ฅ
์ฑ๋ฅ ํ์ดํ๋ผ์ธ ์กฐ์
___DAG์ ์ฑ๋ฅ
์ฑ๋ฅ ํฌ๋ช
์ฑ
'๋ฏธ์ฌ์ฉ > [ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ํต์ฌ ๊ฐ์ด๋๐ฆ ]' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[7์ฅ] ํ์ดํ๋ผ์ธ ์ค์ผ์คํธ๋ ์ด์ (0) | 2022.02.21 |
---|---|
[3์ฅ] ์ผ๋ฐ์ ์ธ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ํจํด (0) | 2022.02.21 |
[1์ฅ] ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ์๊ฐ (0) | 2022.02.20 |
[kudu] apache kudu ๋ (23.12.01 ์์ )
kudu๊ฐ ๋ญ์ง, ์ฌ์ฉํด๋ณด์ง๋ ๋ชปํ๊ณ rpm ๋น๋๋ฅผ ํด์ผํ๋ ์ํฉ์์ ๊ธ์ ์ผ๋ค๊ฐ ์ต๊ทผ์ ๋ค์ ์์ ํ๊ฒ ๋์๋ค.
ํ์ฌ๋ kudu๋ ์ฌ์ฉํด๋ณด์ง ๋ชปํ๋ค. ๊ทธ๋ฌ๋ ํ๋ก์์ฝ์์คํ ์ ์ฌ์ฉํ๋ค๋ณด๋ฉด ๋๋ถ๋ถ ์ํคํ ์ณ๊ฐ ์ ์ฌํ ๋๋์ด๋ผ ์ดํดํ๋๋ฐ ํฌ๊ฒ ์ด๋ ต์ง๋ ์๋ค.
์ฒ์์ kudu ์ฐพ์๋ดค์ ๋
kudo์ ์ํคํ ์ณ๋ hbase์ ์ ์ฌํ ์ ์ด ์๋ค.
๊ทธ๋์ hbase๋ฅผ ์ฌ์ฉํด๋ดค๊ฑฐ๋ ํ๋ค๋ฉด, kudu์ดํดํ๋๋ฐ์ ํฌ๊ฒ ์ด๋ ค์์ด ์์ ๊ฒ์ด๋ค.
kudu์์ ํต์ฌ ํค์๋๋ key-value ์ด๋ค.
์ผ๋จ, kudu๋ฅผ ๊ฒ์ํด์ ์ด๊ฒ ์ ๊ฒ ๋ณด๋ค๋ณด๋ฉด ๊ทธ๋์ hbase๊ฐ์๊ฑฐ๋ผ๋ ๊ฑด๊ฐ? ์๊ฐ์ด ๋ ๋ค.
๋ฐ๋ผ๋ค๋๋ ํค์๋๊ฐ key-value๋ก ์ธ๋ฐ, hbase ๋ํ key-value๊ฐ ํต์ฌํค์๋์ด๋ค.
kudu ์ ์ hbase
kudu๋ฅผ ์์๋ณด๊ธฐ์ ์ hbase์ ๋ํด ๊ฐ๋ตํ ์ง๊ณ ๋์ด๊ฐ๋ฉด HDFS๋ append-only , immutable์ ํน์ง์ ๊ฐ์ง๊ณ ์๋ค. HDFS์ ์ ์ฅ๋ ํ์ผ์ ์์ ์ด ๋ถ๊ฐํ๋ค. (๋ฎ์ด์ฐ๊ธฐํด์ ์์ )
Hbase์ ๊ฒฝ์ฐ HDFS์ ๋ฌ๋ฆฌ ์์ ๊ฐ๋ฅํ๊ณ ๋๋ค์ผ๋ก ์ ๊ทผํด ์ฝ๊ณ ์ฐ๊ธฐ๊ฐ ๊ฐ๋ฅํ๋ค. ์ ๊ทผ์ด ๋น ๋ฅด๊ณ low latency๋ก input, output ๊ณผ์ ์์ ์ง์ฐ์ ์ต์ํ ํ๋ ๊ฒ์ด๋ค.
hbase์ kudu์ ์ฐจ์ด์ ์ ?
๊ทธ๋ผ kudu์ ์ด๋ป๊ฒ ๋ค๋ฅผ๊น??
hbase๋ ์ฒ๋ฆฌ๋์ด ๋ฎ๊ณ , kudu๋ ์ฒ๋ฆฌ๋์ด ๋๋ค๊ณ ๋น๊ตํ ์ ์๋ค.
hbase์ HDFS์์ JSONํ์ผ, kudu๋ HDFS์์ parquet ํ์ผ์ ์ฒ๋ฆฌํ๋ค
kudu๋ parquet ์ hbase์ ์์๊ฒฉ์ด๋ค.
parquetํ์ผ์ ๋ค๋ค๋ดค๋ค๋ฉด, ์์ถ๋ฅ ์ด ๋์(์ฉ๋์ด ์์ ๋ฑ๋ฑ) ์ฒ๋ฆฌ๋์ด ๋๋ค๊ณ ๋๋ ์ ์๋ค.
parquet์ด ๋จผ๋?
hbase์ฒ๋ผ ์นผ๋ผ๋ฒ ์ด์ค ์คํ ๋ฆฌ์ง์ด๋ฉฐ, hbase๊ฐ์ parquet parquet๊ฐ์ hbase๋ผ๊ณ ์๊ฐํด์ผํ๋ค๊ณ ํ๋ค.
Kudu๋ Hbase์ parquet์ ํผ์ข
์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ๋์ฐฉํ์ฌ ์ ์ฅํ ๋, Hbase์ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋ฉฐ,
์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ์ ๋ํ ๋ถ์ ์ํฌ๋ก๋ ์คํํ ๋, parquet๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋ค.
์ฟผ๋ฆฌ๋ก ๊ธด ๊ธฐ๊ฐ ๋ด์ญ ๋ฐ์ดํฐ์ ์ค์๊ฐ ๋จ๊ธฐ ๋ฐ์ดํฐ ๊ฒฐํฉ์ ์ฝ๊ฒ ํ ์ ์๋ค
Hbase in-memory + Parquet columar layout = kudu
Kudu์ ์ํธ์์ฉ ํ๋ ๊ฒ๋ค?
- Impala
- ๋ณ๋์ ์ง์ ๊ธฐ๋ฅ์ kudu์์ ์ง์ํ์ง์๊ธฐ์ impala์ ๊ฐ์ ์ง์ ์์ง ์ฌ์ฉํด์ผํ๋ค.
- ํ์คํ ํ์ด๋ธ ์ฟผ๋ฆฌ์๋ ์๋๊ฐ ๋น ๋ฆ์ ๋๋ ์ ์๋ค. ๋ฌด๊ฑฐ์ด ์ฟผ๋ฆฌ๋ง ๋๋ฆฌ๊ณ ์์ฃผํ๋ ์ํฌํ๋ก์ฐ๊ฐ ๋ง๋ค๋ฉด TEZ์์ง ์ฌ์ฉ์์ฒด๋ ๋ถ๋ด์ด ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. MR์์ง ์ฐ๋ ํ์ด๋ธ์๋ ๋งค์ฐ ์๋๊ฐ ๋น ๋ฅด๋ค
- C++,java,python client
- MapReduce
- Spark
Kudu ์ํคํ ์ณ
Kudu Master
- Fault Tolerance ์ฅ์ ํ์ฉ
- Failover to backup masters ๋ฐฑ์ ์ผ๋ก ์ฅ์ ์กฐ์น
- Raft used for electing new leaders ์๋ก์ด ๋ฆฌ๋ ๋ฝ์๋ Raft ์ฌ์ฉ
- Only leader serves client request ๋ฆฌ๋๋ง ํด๋ผ์ด์ธํธ ์์ฒญ ์์ฉ
Tablets
- Hbase์ region๊ณผ ๋น์ทํจ
- 3- 5 ๊ฐ ๋ณต์ ๊ฐ๋ฅํจ
- ๋ณต์ ๋ ํฉ์๋ฅผ ์ํด Raft์ ๋ฆฌ๋/ํ๋ก์ ํจํด์ ์ฌ์ฉ
- HDFS์๋ ๋ก์ปฌ์ ๋ฐ์ดํฐ ์ ์ฅํจ
Kudu ์คํ
https://n-a-y-a.tistory.com/108
[kudu] kudu cluster๋ชจ๋๋ก ์คํ
Kudu Cluster ๊ตฌ์ฑ์ ๋ณด ์์ kudu1.com kudu master kudu2.com kudu master kudu3.com kudu tserver kudu4.com kudu tserver kudu5.com kudu tserver Master Server kudu1 ๋ ธ๋ [user@kudu1 ~] ${KUDU_HOME}/sbin/kudu-master/sbin/kudu-master --rpc_bind_addresses=
n-a-y-a.tistory.com
Kudu Impala, Hive metastore ์ฐ๋
https://n-a-y-a.tistory.com/110
hive metastore - kudu - impala ์ฐ๋
hive-site.xml hive.metastore.transactional.event.listeners org.apache.hive.hcatalog.listener.DbNotificationListener, org.apache.kudu.hive.metastore.KuduMetastorePlugin hive.metastore.disallow.incompatible.col.type.changes false hive.metastore.notifications
n-a-y-a.tistory.com
๊ผญ ํ์ด๋ธ๋ฉํ์คํ ์ด์๋ ์ฐ๋์ ํ์ง์์๋ ๋ ๊ฒ๊ฐ์ง๋ง, ๊ธฐ์กด์ ํ์ด๋ธ๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉด ์ฐ๋ํด์ ์ฌ์ฉํ๋๊ฒ์ด ํธ๋ฆฌํ ๊ฒ์ด๋ค.
'BIGDATA > ํ๋ก์์ฝ์์คํ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[airflow] airflow ์ค์น ํ ์คํ (0) | 2022.03.23 |
---|---|
[Hive] ์ด๊ธฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋ ํ ์๊ธฐ๋ ํ ์ด๋ธ ๋ชฉ๋ก (0) | 2022.03.04 |
[Apache NiFi] ์ํ์น ๋์ดํ์ด ๋? (0) | 2021.12.06 |
lamda arch (0) | 2021.11.22 |
[Hadoop] Block Pool (0) | 2021.11.12 |
[Apache NiFi] ์ํ์น ๋์ดํ์ด ๋?
์์คํ ๊ฐ์ ๋ฐ์ดํฐ ํ๋ฆ์ ์๋ํ ํ๋ค.
Web server - NiFi์ HTTP ๊ธฐ๋ฐ ๋ช ๋ น ๋ฐ ์ ์ด API๋ฅผ ํธ์คํ
Flow Controller - ์คํํ ํ์ฅ์ ์ค๋ ๋๋ฅผ ์ ๊ณตํ๊ณ ํ์ฅ์ด ์คํํ ๋ฆฌ์์ค๋ฅผ ์์ ํ๋ ์ผ์ ์ ๊ด๋ฆฌ
Extension - JVM ๋ด์์ ์๋ํ๊ณ ์คํ
FlowFile Repo - NiFi๊ฐ ํ์ฌ ํ๋ฆ์์ ํ์ฑ ์ํ์ธ ์ฃผ์ด์ง FlowFile์ ๋ํด ์๊ณ ์๋ ๊ฒ์ ์ํ๋ฅผ ์ถ์ ํ๋ ๊ณณ
Content Repo - ์ฝํ ์ธ ์ ์ฅ์๋ ์ง์ ๋ FlowFile์ ์ค์ ์ฝํ ์ธ ๋ฐ์ดํธ๊ฐ ์๋ ๊ณณ
Provenance Repo - ๋ชจ๋ ์ถ์ฒ ์ด๋ฒคํธ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ, ํ๋ฌ๊ทธํ์ด๋ฉฐ ๊ธฐ๋ณธ ๊ตฌํ์ ํ๋ ์ด์์ ๋ฌผ๋ฆฌ์ ๋์คํฌ ๋ณผ๋ฅจ์ ์ฌ์ฉํ๋ ๊ฒ, ์ด๋ฒคํธ ๋ฐ์ดํฐ๊ฐ ์ธ๋ฑ์ฑ ๋๊ณ ๊ฒ์ ๊ฐ๋ฅ
NiFi ์ค์น
wget http://apache.mirrors.tds.net/nifi/1.15.0/nifi-1.15.0-bin.tar.gz
tar xvzf nifi-1.15.0-bin.tar.gz
NiFi ์คํ
cd ${NiFi_SRC}/bin
./nifi.sh start
NiFi Port - nifi.properties ์์ port ๋ฐ๋ก ์ง์
'BIGDATA > ํ๋ก์์ฝ์์คํ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Hive] ์ด๊ธฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋ ํ ์๊ธฐ๋ ํ ์ด๋ธ ๋ชฉ๋ก (0) | 2022.03.04 |
---|---|
[kudu] apache kudu ๋ (23.12.01 ์์ ) (0) | 2021.12.14 |
lamda arch (0) | 2021.11.22 |
[Hadoop] Block Pool (0) | 2021.11.12 |
[Apache Livy] Apache Livy / ์ํ์น ๋ฆฌ๋น๋? (0) | 2021.11.04 |
lamda arch
- ์ผ๊ด ์ฒ๋ฆฌ ๊ณ์ธต(์คํ ๋ถํ ๋ฏธ๋ฌ ๊ฒฝ๋ก)์ ๋ค์ด์ค๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์์ ํ์์ผ๋ก ์ ์ฅํ๊ณ ํด๋น ๋ฐ์ดํฐ์ ๋ํด ์ผ๊ด ์ฒ๋ฆฌ๋ฅผ ์ํํฉ๋๋ค. ์ด๋ฌํ ์ฒ๋ฆฌ์ ๊ฒฐ๊ณผ๋ ์ผ๊ด ์ฒ๋ฆฌ ๋ณด๊ธฐ ๋ก ์ ์ฅ๋ฉ๋๋ค.
- ๋น ๋ฅธ ๋ ์ด์ด(์คํ ๋ถํ ๊ณผ๋ค ๊ฒฝ๋ก)๋ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ถ์ํฉ๋๋ค. ์ด ๊ณ์ธต์ ์ ํ๋๋ ๋จ์ด์ง์ง๋ง ์งง์ ๋๊ธฐ ์๊ฐ์ ์ ๊ณตํ๋๋ก ๋์์ธ๋์์ต๋๋ค.
hot path - ๋น ๋ฅธ๋ ์ด์ด -> ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํจ์ผ๋ก ์คํ์ด ๋น ๋ฅด๋ ๋ถํ๊ฐ ์ฌ ์ ์๋ค.
cold path - ์ผ๊ด์ฒ๋ฆฌ๊ณ์ธต -> ๋์ ์ ํ๋์ ๊ณ์ฐ์ด ํ์ํ ์์ ์ ์ํ
-----------์์ฑ ์ค ---------------
์ค์ ๋น ๋ฐ์ดํฐ ํ๋ซํผ์์ ์ด๋ค ๋ฐฉ์์ผ์ง? ์ํคํ ์ณ ์ฐพ์๋ณด๊ธฐ
https://docs.microsoft.com/ko-kr/azure/architecture/data-guide/big-data/
๋น ๋ฐ์ดํฐ ์ํคํ ์ฒ - Azure Architecture Center
๊ธฐ์กด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ๋นํด ๋๋ฌด ํฌ๊ฑฐ๋ ๋ณต์กํ ๋ฐ์ดํฐ์ ์์ง, ์ฒ๋ฆฌ ๋ฐ ๋ถ์์ ์ฒ๋ฆฌํ๋ ๋น ๋ฐ์ดํฐ ์ํคํ ์ฒ์ ๋ํด ์์๋ด ๋๋ค.
docs.microsoft.com
'BIGDATA > ํ๋ก์์ฝ์์คํ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[kudu] apache kudu ๋ (23.12.01 ์์ ) (0) | 2021.12.14 |
---|---|
[Apache NiFi] ์ํ์น ๋์ดํ์ด ๋? (0) | 2021.12.06 |
[Hadoop] Block Pool (0) | 2021.11.12 |
[Apache Livy] Apache Livy / ์ํ์น ๋ฆฌ๋น๋? (0) | 2021.11.04 |
[Hadoop 3] Eraser coding (0) | 2021.10.25 |
[Hadoop] Block Pool
Name space
-๋๋ ํฐ๋ฆฌ, ํ์ผ, ๋ธ๋ก์ผ๋ก ๊ตฌ์ฑ
-ํ์ผ ๋ฐ ๋๋ ํฐ๋ฆฌ ๋ง๋ค๊ธฐ, ์ญ์ , ์์ ๋ฐ ๋ชฉ๋ก ์ง์ ๊ณผ ๊ฐ์ ๋ค์์คํ์ด์ค ๊ด๋ จ ๋ชจ๋ ํ์ผ ์์คํ ์์ ์ ์ง์
Block Storage Service
Block Management (Namenode์์ ์ํ)
-๋ฑ๋ก ๋ฐ ์ฃผ๊ธฐ์ ์ธ ํํธ๋นํธ๋ฅผ ์ฒ๋ฆฌํ์ฌ ๋ฐ์ดํฐ๋ ธ๋ ํด๋ฌ์คํฐ ๊ตฌ์ฑ์ ์๊ฒฉ์ ์ ๊ณต
-๋ธ๋ก ๋ณด๊ณ ์๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋ธ๋ก ์์น๋ฅผ ์ ์ง
-๋ธ๋ก ์์น ์์ฑ, ์ญ์ , ์์ ๋ฐ ๊ฐ์ ธ์ค๊ธฐ ๋ฑ์ ๋ธ๋ก ๊ด๋ จ ์์ ์ ์ง์
-๋ณต์ ๋ณธ ๋ฐฐ์น๋ฅผ ๊ด๋ฆฌํ๊ณ , ๋ณต์ ๋์ง ์์ ๋ธ๋ก์ ๋ํ ๋ณต์ ๋ฅผ ์ฐจ๋จํ๋ฉฐ, ๊ณผ๋ํ๊ฒ ๋ณต์ ๋ ๋ธ๋ก์ ์ญ์
Storage
-๋ก์ปฌ ํ์ผ ์์คํ ์ ๋ธ๋ก์ ์ ์ฅํ๊ณ ์ฝ๊ธฐ/์ฐ๊ธฐ ์ก์ธ์ค๋ฅผ ํ์ฉํจ์ผ๋ก์จ ๋ฐ์ดํฐ๋ ธ๋์ ์ํด ์ ๊ณต
HDFS Federation์ ์ฌ๋ฌ ๋ค์๋ ธ๋/๋ค์์คํ์ด์ค์ ๋ํ ์ง์์ HDFS์ ์ถ๊ฐํ์ฌ ์ด๋ฌํ ์ ํ์ ํด๊ฒฐ
Block Pool - ๋จ์ผ ๋ค์์คํ์ด์ค์ ์ํ๋ ๋ธ๋ก์งํฉ์ผ๋ก ๋ธ๋กํ์ ๋ ๋ฆฝ์ ์ผ๋ก ๊ด๋ฆฌ๋จ
๋ค์์คํ์ด์ค ๋ณผ๋ฅจ = ๋ค์์คํ์ด์ค + ๋ธ๋ก ํ
๋ค์๋ ธ๋. ๋ค์์คํ ์ด์ค๊ฐ ์ญ์ ๋๋ฉด ๋ฐ์ดํฐ๋ ธ๋์ ํด๋น ๋ธ๋ก ํ์ด ์ญ์ ๋๋ค.
ClusterID -ID ์๋ณ์๋ ํด๋ฌ์คํฐ์ ๋ชจ๋ ๋ ธ๋๋ฅผ ์๋ณํ๋ ๋ฐ ์ฌ์ฉ
๋ค์๋ ธ๋๋ฅผ ํฌ๋งทํ๋ฉด ์ด ์๋ณ์๊ฐ ์ ๊ณต๋๊ฑฐ๋ ์๋์ผ๋ก ์์ฑ๋จ. ์ด ID๋ ๋ค๋ฅธ ๋ค์๋ ธ๋๋ฅผ ํด๋ฌ์คํฐ๋ก ํฌ๋งทํ๋ ๋ฐ ์ฌ์ฉ
๋ค์๋ ธ๋์ ๋ฐ์ดํฐ๋ ธ๋์ current ๋๋ ํฐ๋ฆฌ ์์ VERSION ํ์ผ ์กด์ฌ
ํด๋นํ์ผ ์ฝ์ผ๋ฉด ๋ด์ฉ์ ์๋์ ๊ฐ๋ค.
cat ~/hdfs/namenode/current/VERSION
Wed June 20 09:11:23 KST 2020
namespaceID=367232048
clusterID=CID-234sdaf234-3fsda-4949-v324-fsd3asfdf234
cTime=123123123342323
storageType=NAME_NODE
blockpoolID=BP-217871978-000.000.000.000-000000000000
layoutVersion=-64
์ด๋ฐ ํ์์ผ๋ก ๊ฐ ID๋ฅผ ํ์ธ ํ ์ ์๋ค.
'BIGDATA > ํ๋ก์์ฝ์์คํ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Apache NiFi] ์ํ์น ๋์ดํ์ด ๋? (0) | 2021.12.06 |
---|---|
lamda arch (0) | 2021.11.22 |
[Apache Livy] Apache Livy / ์ํ์น ๋ฆฌ๋น๋? (0) | 2021.11.04 |
[Hadoop 3] Eraser coding (0) | 2021.10.25 |
[Apache Solr] Apache solr 8.5.0 ์ค์นํ๊ธฐ (0) | 2021.08.30 |