Data-Driven System Development 138

Docker로 Airflow 실행하기: 설정부터 운영까지

Airflow 웹 UI의 로그인 페이지를 보여줍니다. Airflow는 파이프라인 관리 도구로, 사용자는 설정된 포트(기본적으로 8080)를 통해 웹 인터페이스에 접근할 수 있습니다. 로그인 화면에서 Username과 Password를 입력해야 대시보드에 접속 가능하며, 접속 후 DAG 실행, 상태 모니터링, 작업 스케줄 관리와 같은 기능을 사용할 수 있습니다.이 화면은 Airflow 서버가 정상적으로 실행되고 웹 서버가 작동 중임을 나타냅니다.  사용자가 Docker 컨테이너 내부로 접속한 상태를 보여줍니다. 명령어 docker exec -it b7bc774f96c5 bash를 사용하여 컨테이너 ID b7bc774f96c5에 접속했고, 현재 위치는 컨테이너의 /usr/local/airflow 디렉토리입니..

Docker로 Apache Airflow 환경 구축하기: Python 기반 DAG 관리

Docker를 활용하면 Apache Airflow와 같은 복잡한 워크플로우 관리 도구를 손쉽게 설정하고 실행할 수 있습니다. 이 블로그에서는 Python 기반 환경에서 Dockerfile을 작성하고, Airflow를 활용해 DAG 관리와 워크플로우 자동화를 구현하는 방법을 살펴봅니다. 특히 Airflow의 설치 및 설정 과정과 Docker 컨테이너에서 실행 가능한 상태로 구축하는 과정을 중점적으로 설명합니다. FROM python:3.8-slimENV AIRFLOW_HOME=/usr/local/airflowRUN apt-get update && \ apt-get install -y gcc libc-dev vim && \ rm -rf /var/lib/apt/lists/*RUN pip instal..

Python과 DAG를 활용한 데이터 파이프라인 구축

시스템 소개 DAG는 Airflow를 활용하여 머신러닝 모델의 데이터 처리, 학습, 성능 비교, 최적 모델 선택의 워크플로우를 자동화하는 데 중점을 둡니다. Airflow의 PythonOperator를 사용해 단계별 작업을 구성하며, 태스크 간 데이터 교환은 XCom을 통해 이루어집니다. def feature_engineering(**kwargs): iris = load_iris() X = pd.DataFrame(iris.data, columns=iris.feature_names) y = pd.Series(iris.target) # 데이터 분할 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3) ..

절차서 검증을 위한 자연어처리 기술 개발(검증 요약 및 검토 리포트)

검증 요약 리포트  def verification_table_summary(file_id): # 검증 데이터 로드 data = get_dataframe_from_database('order verification', file_id) # 문서 생성 doc = docx.Document() previous_parent_index = None for index, row in data.iterrows(): file_id = row[1] numbering = row[2] # 'Numbering' 열 result = row[4] # 'Verification Result' 열 parent_index = row[7..

절차서 검증을 위한 자연어처리 기술 개발(문서 검증)

형식 검증  1. 순위 검증 import pandas as pdimport numpy as npdef check_sequence_and_start_order(data): """ 주어진 번호 매기기(numbering sequence) 값을 이용하여 형식검증을 진행합니다. Args: data (DataFrame): 업데이트할 데이터 프레임. Returns: DataFrame: 업데이트된 데이터 프레임. """ # 'None' 값이 있는 행 제거 data = data.dropna(subset=['Numbering Sequence']) data['Verification Content'] = 'Normal' data['Verification..

절차서 검증을 위한 자연어처리 기술 개발(자연어처리 알고리즘)

문단 자연어 처리  본 시스템은 발전소와 같은 대규모 시설의 안전하고 효율적인 운영 및 유지 관리를 지원하기 위해, 절차서의 각 단락에서 구문 및 의미 정보를 추출하는 새로운 방법을 제안함. 이를 위해, 절차서에서 비텍스트 요소인 이미지 및 표를 제거하는 단계와 텍스트의 구조적 특성을 분석하는 단계를 포함하는 전처리 과정을 거치고. 전처리된 텍스트는 확장된 자연어 처리 유닛으로 전달되어, 자연어 처리 기술을 통해 분석 및 수정됨. 이 과정을 통해, 각 단락에 포함된 중요한 의미를 가진 개체를 식별하고, 단락의 유형을 분류하며, 조치사항을 담은 단락의 세부 요소를 파악하는 정보 추출 작업을 수행함. 1. 구문 분석 구문분석은 문장의 구조를 나타내는데 사용되며, 구문 분석을 통해 문장의 각 구성 요소를 문법..

절차서 검증을 위한 자연어처리 기술 개발(전처리 및 알고리즘 개발)

문서 파일 전처리 문단과 문서의 속성 정보를 정밀하게 분석하여 체계적으로 처리합니다. 자동화된 시스템을 통해 효율적으로 데이터를 추출하고, 이를 데이터베이스(DB)에 안전하게 적재하여, 추후 분석 및 관리가 용이하도록 합니다. 이를 통해 문서 관리의 효율성을 극대화하고, 데이터의 일관성과 정확성을 보장합니다. 1. 문서 속성  def get_document_info(doc_path, file_id): import win32com.client as win32 word = win32.Dispatch("Word.Application") doc = word.Documents.Open(doc_path) word.Visible = False paragraphs = doc.Paragraph..

절차서 검증을 위한 자연어처리 기술 개발

제안 배경장치산업 분야에서는 모든 작업을 절차서에 준해서 수행하기 때문에, 절차서에 내재된 인적 오류 요인의 제거가 필수적임. 특히, 대외비 자료인 절차서에 대한 기밀 유지가 필요하므로 인적 유출의 방지를 위해 자동화된 시스템의 도입이 필요함  기술 개발의 필요성본 기술개발의 목적은 절차서에서 인적 오류 요인을 효율적으로 검증하여 안전성과 생산성을 향상시키는 것 이를 위해 절차서의 구문적 및 의미적 정보를 추출하고 절차서 관리의 정확성을 높이기 위한 자연어처리 기반 방법론과 소프트웨어를 개발할 필요가 있음 자연어처리 기술을 이용하여 절차서의 중요 정보를 자동으로 추출하고 오류를 효과적으로 식별함으로써, 절차서가 적용될 해당 분야의 안전성과 생산성을 제고할 수 있을 것으로 기대함 개발 목표   자연어 처리..