ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Apache NiFi와 Talend를 사용한 데이터 수집 구체 사례
    카테고리 없음 2025. 1. 10. 23:23

    Apache NiFi와 Talend를 사용한 데이터 수집 구체 사례


    1. Apache NiFi를 사용한 데이터 수집 예시

    사례: IoT 센서 데이터를 수집하고 실시간으로 데이터 웨어하우스에 저장

    요구사항

    • IoT 센서에서 실시간으로 생성되는 데이터를 수집.
    • 데이터를 정제(불필요한 필드 제거, 시간대 변환 등).
    • Snowflake 데이터 웨어하우스에 저장.

    단계별 구현

    1. 데이터 소스 정의
      • 데이터 소스: MQTT 프로토콜을 통해 IoT 센서에서 데이터를 스트리밍.
      • 데이터 형식: JSON.
    2. NiFi 워크플로우 설계
      • ConsumeMQTT 프로세서:
        • MQTT 브로커에서 실시간 데이터를 구독.
        • 센서 ID, 온도, 습도 등의 데이터를 포함한 JSON 메시지 수신.
      • UpdateAttribute 프로세서:
        • 데이터에 타임스탬프를 추가하거나, 필수 속성 값을 설정.
      • ConvertJSONToSQL 프로세서:
        • JSON 데이터를 SQL 형식으로 변환.
      • PutDatabaseRecord 프로세서:
        • Snowflake 데이터 웨어하우스에 데이터를 적재.
        • JDBC 연결을 통해 데이터베이스와 연동.
    3. 특징
      • NiFi의 GUI 기반 워크플로우 디자이너를 사용하여 프로세스를 쉽게 설정 가능.
      • 실시간 데이터 스트리밍 처리와 에러 처리(재시도) 기능 포함.

    NiFi 설정 예

    • ConsumeMQTT 프로세서 설정:
      • MQTT 브로커 URL: tcp://broker.hivemq.com:1883
      • Topic: iot/sensor_data
    • PutDatabaseRecord 프로세서 설정:
      • JDBC URL: jdbc:snowflake://your_account.snowflakecomputing.com
      • Table: iot_data

    2. Talend를 사용한 데이터 수집 예시

    사례: 전자상거래 API에서 주문 데이터를 수집하고 CSV 파일로 저장

    요구사항

    • 전자상거래 API에서 주문 데이터를 수집.
    • 데이터를 정리(필드 선택, 날짜 형식 변환).
    • CSV 파일로 저장하여 데이터 분석팀에 전달.

    단계별 구현

    1. 데이터 소스 정의
      • 데이터 소스: REST API.
      • 데이터 형식: JSON.
    2. Talend 워크플로우 설계
      • tRESTClient 컴포넌트:
      • tMap 컴포넌트:
        • 데이터 필드를 매핑하고 필요한 데이터만 선택.
        • 날짜 형식을 변환(예: ISO8601 → YYYY-MM-DD).
      • tFileOutputDelimited 컴포넌트:
        • 매핑된 데이터를 CSV 파일로 저장.
        • 파일 이름: orders_YYYYMMDD.csv.
    3. 특징
      • Talend의 컴포넌트를 드래그 앤 드롭하여 쉽게 워크플로우 설계.
      • 다양한 데이터 변환 및 정리 기능 제공.

    Talend 설정 예

    • tRESTClient:
    • tFileOutputDelimited:
      • Output Directory: /data/exports/
      • File Name: orders_${currentDate}.csv

    비교 및 선택 기준

    기능Apache NiFiTalend

    데이터 처리 방식 실시간 스트리밍 데이터 처리에 적합 배치 데이터 처리에 강점
    사용 사례 IoT, 스트리밍 데이터, 실시간 모니터링 API 데이터, 파일 변환, 데이터 파이프라인 구축
    UI 직관적 GUI 기반, 실시간 데이터 흐름 관리 GUI 기반 워크플로우 설계, 다양한 컴포넌트 지원
    확장성 고성능 스트리밍 파이프라인 복잡한 배치 처리 및 클라우드 통합 지원

    결론

    • Apache NiFi는 실시간 데이터 스트리밍 및 IoT 데이터를 처리하는 데 탁월합니다.
    • Talend는 REST API와 같은 배치 처리 데이터 소스에서 데이터를 수집하고 변환하는 데 적합합니다.

    두 솔루션은 상호 보완적으로 활용 가능하며, 특정 요구사항에 따라 선택하거나 결합하여 사용할 수 있습니다.

Designed by Tistory.