๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
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.
728x90