728x90 ๐ป Programming87 [Linux] ํ๊ฒฝ ๋ณ์ ์ค๋ช | ์์คํ ์ ์ฒด ๋๋ ํน์ ์ฌ์ฉ์์ ๋ํ ์ค์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๋ณ์ ๋ฆฌ๋ ์ค์ ํ๊ฒฝ๋ณ์๋ ์์คํ ์ ์ฒด ๋๋ ํน์ ์ฌ์ฉ์์ ๋ํ ์ค์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ณ์์ด๋ค. ์ด๋ฌํ ๋ณ์๋ค์ ๋ช ๋ น ์คํ ์์ ์ฌ์ฉ์์ ํ๊ฒฝ์ ๊ตฌ์ฑํ๊ฑฐ๋ ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋์ ์ํฅ์ ๋ฏธ์น๊ธฐ ๋๋ฌธ์ ํด๋น ํ๊ฒฝ์์ ์คํ๋๋ ํ๋ก์ธ์ค๊ฐ ๋ชจ๋ ์ฐธ์กฐํ ์ ์๋ค. ๋๋ถ๋ถ ๋๋ฌธ์๋ก ์์ฑ๋๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก ์ค์ ๊ฐ์ด๋ ๊ฒฝ๋ก์ ๊ฐ์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ค. ํ๊ฒฝ ๋ณ์๋ ์ฃผ๋ก ๋ค์๊ณผ ๊ฐ์ ์์ ์ ์ํด ์ฌ์ฉํ๋ค๊ณ ๋ณด๋ฉด ๋๋ค. ์์ฃผ ์ฌ์ฉํ๋ ๊ฒฝ๋ก๋ฅผ ์ง์ ๊ธฐ์กด์ ์๋ ๋ณ์๋ฅผ ์ด์ฉํด ์๋ก์ด ๋ณ์๋ฅผ ์ง์ ํ๋ก์ธ์ค๊ฐ ๊ตฌ๋ ์ค์ ์ฐธ์กฐํ ๊ฐ์ ๋ฏธ๋ฆฌ ํ๊ฒฝ๋ณ์์ ํ ๋นํ๊ณ ํ๋ก์ธ์ค๋ฅผ ์คํ ์ฌ๋ฌ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ์ฐธ์กฐํด์ผ ํ๋ ๊ฐ์ ํ๊ฒฝ๋ณ์์ ํ ๋น ํ๊ฒฝ ๋ณ์๋ฅผ ์์๋ก ์ ์ธํ๋ ๋ฐฉ๋ฒ ํ๊ฒฝ ๋ณ์๋ฅผ ์์๋ก ์ ์ธํ๋ ค๋ฉด export ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ค. ์.. 2023. 11. 27. [Linux] Redirection (๋ฆฌ๋๋ ์ ) | ๋ช ๋ น์ด์ ์ ๋ ฅ์ด๋ ์ถ๋ ฅ์ ํ์ผ๋ก ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ๊ธฐ๋ฅ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด์์ ๋ฆฌ๋๋ ์ ์ ๋ช ๋ น์ ์ ๋ ฅ์ด๋ ์ถ๋ ฅ์ ํ์ผ์ด๋ ๋ค๋ฅธ ์ฅ์น๋ก ๋ณด๋ด๊ฑฐ๋ ๋ฐ์ ์ ์๊ฒ ํด์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค. ์๋์์ ๋ช ๊ฐ์ง ์ฃผ์ํ ๋ฆฌ๋๋ ์ ๊ธฐ๋ฅ์ ์ค๋ช ํ๋ค. > (Output Redirection) echo "Hello, Linux" > greeting.txt ๋ช ๋ น์ ํ์ค ์ถ๋ ฅ์ ํ์ผ๋ก ๋ฆฌ๋๋ ์ ํ๋ค. ์์ ์์๋ "Hello, Linux"๋ผ๋ ํ ์คํธ๋ฅผ greeting.txt ํ์ผ๋ก ๋ฆฌ๋๋ ์ ํ๋ค. ๋ง์ฝ greeting.txt ํ์ผ์ด ์ด๋ฏธ ์กด์ฌํ๋ฉด ๋ฎ์ด์ฐ๊ณ , ์๋ค๋ฉด ์๋ก์ด ํ์ผ์ ์์ฑํ๋ค. >> (Append Output) echo "Additional text" >> greeting.txt ๋ช ๋ น์ ํ์ค ์ถ๋ ฅ์ ํ์ผ์ ์ถ๊ฐํ๋ค. ์์ ์์๋ "Additional text"๋ฅผ greeting.txt ํ์ผ.. 2023. 11. 27. [Linux] ๋คํธ์ํฌ ํ์ฉ์ ์ํ ss ๋ช ๋ น์ด ์ค๋ช ss ๋ช ๋ น์ด๋ Linux ์์คํ ์์ ์์ผ(๋คํธ์ํฌ ์์ผ)๊ณผ ๊ด๋ จ๋ ์ ๋ณด๋ฅผ ํ์ํ๋ ์ ํธ๋ฆฌํฐ๋ก ์์ผ ํต๊ณ์ ํ์ฌ ์ด๋ ค ์๋ ์์ผ์ ์ํ๋ฅผ ํ์ธํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ss ๋ช ๋ น์ด๋ netstat ๋ช ๋ น์ด์ ์ ์ฌํ ๋ชฉ์ ์ ๊ฐ์ง๊ณ ์์ง๋ง, ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ๋์์ ์ ๊ณตํ๋ค. ss [options] ์ฌ๊ธฐ์ options๋ ss ๋ช ๋ น์ด์ ์ ๋ฌํ ์ ์๋ ๋ค์ํ ์ต์ ์ ๋ํ๋ธ๋ค. ์์ฃผ ์ฌ์ฉ๋๋ ์ต์ ์ ๋ค์๊ณผ ๊ฐ๋ค. -t, --tcp: TCP ์์ผ ์ ๋ณด ํ์ -u, --udp: UDP ์์ผ ์ ๋ณด ํ์ -a, --all: ๋ชจ๋ ์์ผ ์ ๋ณด ํ์ -n, --numeric: ์ฃผ์ ๋ฐ ํฌํธ๋ฅผ ์ซ์๋ก ํ์ -p, --processes: ์์ผ์ ์ฌ์ฉ ์ค์ธ ํ๋ก์ธ์ค ์ ๋ณด ํ์ -l, --listening: ๋ฆฌ์ค๋ ์์ผ ์ ๋ณด ํ์ -r,.. 2023. 11. 26. [Airflow] DB ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ํ๊ณ , ํน์ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋ ๋๊น์ง ์์ ์ ์ผ์ ์ค์งํ๋ ๊ธฐ๋ฅ | SqlSensor Apache Airflow์ SqlSensor๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ํ๊ณ , ํน์ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋ ๋๊น์ง ์์ ์ ์ผ์ ์ค์งํ๋ ์ญํ ์ ํฉ๋๋ค. ์ด ์ผ์๋ ์ฃผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ์ฌ ํน์ ๊ฐ์ด๋ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋์๋์ง๋ฅผ ํ์ธํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. SqlSensor ์ฌ์ฉ ๋ฐฉ๋ฒ from airflow.sensors.sql import SqlSensor sql_sensor_task = SqlSensor( task_id='sql_sensor_task', conn_id='your_database_connection_id', # ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ID sql='SELECT COUNT(*) FROM your_table WHERE your_condition;', # ๊ฐ์ํ ์ฟผ๋ฆฌ mode='poke', #.. 2023. 11. 20. [Airflow] ์์ดํ๋ก์ฐ ์ค์น ๋ฐ ์น ์ธํฐํ์ด์ค ์คํํ๊ธฐ 1. Airflow ์ค์น pip install apache-airflow 2. Airflow ์ค์ cd airflow airflow db init mkdir dags ๋ง๋ค์ด์ง airflow ํด๋๋ก ๋ค์ด๊ฐ์ db๋ฅผ init ํด์ฃผ๊ณ dags ํด๋๋ฅผ ์์ฑ airflow users create -u admin -p admin -f Clueless -l Coder -r Admin -e admin@admin.com ๊ด๋ฆฌ์ ๊ณ์ ์์ฑ 3. Airflow ์คํ airflow webserver -p 8080 8080 ํฌํธ๋ก ์์ดํ๋ก์ฐ ์คํ 'localhost:8080' ๋ก ์ ์ 4. Airflow ์น ์ธํฐํ์ด์ค Apache Airflow ์น์๋ฒ๋ Airflow ์ํฌํ๋ก์ฐ์ ์๊ฐํ, ๋ชจ๋ํฐ๋ง ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ํ ์ฌ์ฉ์ ์ธํฐํ.. 2023. 11. 20. [Airflow] Python ํจ์ ์คํํ๊ธฐ | PythonOperator ์ฌ์ฉ PythonOperator๋ Apache Airflow์์ Python ํจ์๋ฅผ ์คํํ๋ ์์ ์ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ฐ์ฐ์์ด๋ค. ์ด๋ฅผ ํตํด Python ํจ์๋ฅผ ํธ์ถํ์ฌ ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ๊ณ์ฐ, ๋๋ ์ฌ์ฉ์ ์ง์ ์์ ์ ์ํํ ์ ์๋ค. ์๋๋ PythonOperator๋ฅผ ์ฌ์ฉํ๋ ๊ฐ๋จํ ์์ ์ด๋ค. from airflow import DAG from airflow.operators.python_operator import PythonOperator from datetime import datetime, timedelta # DAG ์ ์ dag = DAG( 'python_operator_example', description='Example DAG with PythonOperator', schedule_inte.. 2023. 11. 19. ์ด์ 1 2 3 4 5 ยทยทยท 15 ๋ค์ 728x90