데이터엔지니어링 수행 시 유용한 30개 Python 라이브러리

가장 인기 있는 데이터엔지니어링 프로그래밍 언어에는 Python, Java, Scala, R, Julia 및 C++가 있습니다. 이 중에서도 Python은 데이터 엔지니어링, 기계 학습 및 데이터 과학과 같은 영역을 위한 라이브러리, 도구 및 프레임워크의 성장하는 생태계 덕분에 계속해서 선두를 달리고 있습니다. 메트릭 사용에 관계없이 데이터 엔지니어링을 위한 많은 Python 라이브러리가 유용합니다. Python 라이브러리의 중요성은 어떤 작업을 진행하느냐에 따라 다릅니다. 이번 포스팅에서는 데이터 엔지니어링에 가장 유용한 30개의 Python 라이브러리를 선정하고, 알아 보겠습니다.


데이터 워크플로 및 파이프라인 라이브러리

apache-airflow

apache-airflow 라이브러리는 작업, 배치 작업을 실행 및 관리하고 데이터 파이프라인을 조율하기 위해 널리 사용되는 스케줄러 및 모니터입니다. 데이터 엔지니어는 이를 사용하여 많은 수의 작업을 처리할 수 있는 데이터 워크플로 내에서 작업 및 종속성을 관리할 수 있습니다. 이는 오류 처리 및 오류 복구를 위한 스크립팅이 포함된 간단한 UI 및 API를 제공하며 모두 고성능 프레임워크에 포함되어 있습니다. 이를 통해 복잡한 워크플로를 작업의 방향성 비순환 그래프(DAG)로 정의할 수 있습니다. 여기서 작업 사이의 가장자리는 종속성을 나타내고 노드는 실행될 실제 작업을 나타냅니다.

PyPI 페이지: https://pypi.org/project/apache-airflow

홈페이지: https://airflow.apache.org


luigi

2011년 Spotify에서 처음 출시한 Luigi는 또 다른 오픈 소스 데이터 파이프라인 Python 라이브러리입니다. Airflow와 유사하게 데이터 엔지니어들은 작업 간에 일련의 종속성을 실행하는 복잡한 파이프라인을 구축 및 정의할 수 있으므로 작업이 올바른 순서로 실행되고 실패를 관리할 수 있습니다. Luigi에는 작업 실행을 트리거할 수 있는 이벤트 모니터링도 포함되어 있습니다. ETL 및 데이터 수집에 사용할 수 있으며 데이터 레이크 및 웨어하우스와 같은 데이터 저장소에 데이터를 저장하기 전에 데이터 정리 및 변환 서비스를 제공합니다.

PyPI 페이지: https://pypi.org/project/luigi/

홈페이지: https://github.com/spotify/luigi


prefect

데이터 엔지니어에게 Airflow는 신뢰할 수 있는 도구이지만 최신 데이터 스택에 필요한 기능이 부족한 경우가 있습니다. Prefect는 이러한 단점을 염두에 두고 설계되었습니다. Prefect는 복잡한 데이터 워크플로 및 파이프라인을 구축하고 관리하는 간단하고 직관적인 방법을 제공하고자 합니다. 이를 통해 데이터 엔지니어는 파이프라인을 정의 및 조율하고, 작업을 예약 및 트리거하고, 오류 처리 및 재시도를 처리할 수 있습니다. 데이터 엔지니어링을 위한 다른 워크플로 Python 라이브러리와 유사하게 다양한 소스에서 데이터를 추출하고 데이터를 변환 및 정리하고 대상 시스템 또는 데이터베이스에 로드하는 데 사용할 수 있습니다. 또한 작업의 상태와 진행 상황을 모니터링하고 필요할 때 경고 및 알림을 제공하는 데 사용할 수 있습니다.

PyPI 페이지: https://pypi.org/project/prefect/

홈페이지: https://github.com/PrefectHQ/prefect/


kafka-python

Apache Kafka는 데이터를 저장하고 여러 서버에 복제하여 서버 장애 시 고 가용성과 내구성을 제공하는 실시간 데이터 파이프라인 및 스트리밍 애플리케이션을 구축하는 데 널리 사용되는 분산 메시징 플랫폼입니다. Kafka-python 라이브러리는 Apache Kafka에서 메시지를 생성하고 소비하기 위한 상위 수준 API와 기본 실행 스레드를 차단하지 않고 메시지 송수신을 용이하게 하는 비동기 처리와 같은 고급 사용 사례를 위한 하위 수준 API를 제공합니다.

PyPl 페이지: https://pypi.org/project/kafka-python

홈페이지: https://pypistats.org/packages/kafka-python


kombu

Kombu와 Kafka-python은 둘 다 Python의 메시징 시스템 작업을 위한 라이브러리라는 점에서 유사합니다. 그러나 Kombu는 RabbitMQ 및 AMQP와 같은 메시지 브로커와 상호 작용하기 위한 고급 API를 제공하고 이러한 브로커와의 메시지 직렬화, 연결 풀링 및 재시도 처리를 지원하는 Python 메시징 라이브러리입니다. 데이터 엔지니어는 Kombu를 사용하여 메시지 브로커에서 메시지를 생성 및 소비할 수 있습니다. 이를 통해 데이터베이스에서 데이터를 생성하고 이를 메시지 브로커로 전송하는 등의 시스템 간에 데이터 파이프라인 및 스트리밍 데이터를 구축할 수 있습니다.

PyPI 페이지: https://pypi.org/project/kombu

홈페이지: https://docs.celeryq.dev/projects/kombu/en/stable





데이터 분석 라이브러리

Pandas

Pandas는 중소 규모 데이터 세트 작업에 가장 많이 사용되는 Python 라이브러리 중 하나입니다. NumPy 위에 구축된 Pandas(Python Data Analysis Library의 약어)는 데이터 분석 및 데이터 조작에 이상적입니다. 데이터 병합, 누락된 데이터 처리, 데이터 탐색 및 전반적인 효율성과 같은 강력한 기능의 대규모 컬렉션을 고려할 때 필수품으로 간주됩니다. 데이터 엔지니어는 이를 사용하여 다양한 소스에서 데이터를 빠르게 읽고, 데이터에 대한 분석 및 변환 작업을 수행하고, 결과를 다양한 형식으로 출력합니다. Pandas는 또한 데이터 분석 및 기계 학습 작업을 위한 scikit-learn과 같은 데이터 엔지니어링을 위한 다른 Python 라이브러리와 자주 사용됩니다.

PyPI 페이지: https://pypi.org/project/pandas

홈페이지: https://pandas.pydata.org/


pyarrow

Pandas의 동일한 저자(Wes McKinney)가 개발하여 Pandas의 일부 확장성 문제를 해결하기 위해 Apache Arrow는 더 나은 성능과 유연성을 위해 현재 널리 사용되는 열 형식 데이터 저장소를 사용합니다. PyArrow 라이브러리는 Arrow 통합 및 Pandas, NumPy 및 Python 생태계의 기타 소프트웨어와의 상호 운용성을 위한 도구와 함께 Arrow 라이브러리에서 제공하는 기능을 위한 Python API를 제공합니다. 데이터 엔지니어를 위해 pyarrow는 손쉬운 조작 및 분석을 위해 여러 소스의 데이터를 하나의 통합된 대규모 데이터 세트로 쉽게 통합할 수 있는 확장 가능한 라이브러리를 제공합니다.

PyPI 페이지: https://pypi.org/project/pyarrow

홈페이지: https://arrow.apache.org/


클라우드 라이브러리

boto3

AWS는 가장 인기 있는 클라우드 서비스 공급자 중 하나이므로 boto3가 목록의 맨 위에 있는 것은 놀라운 일이 아닙니다. Boto3는 프로그래머가 Glue, EC2, RDS, S3, Kinesis, Redshift 및 Athena와 같은 데이터 엔지니어 즐겨찾기를 포함하여 Amazon 서비스의 긴 목록을 활용하는 소프트웨어를 작성하기 위한 소프트웨어 개발 키트(SDK) 라이브러리입니다. 데이터 업로드 및 다운로드, EC2 인스턴스 시작 및 관리와 같은 일반적인 작업을 수행하는 것 외에도 데이터 엔지니어는 Boto3를 활용하여 데이터 파이프라인을 구축하고 데이터 워크플로 작업을 자동화하는 데 사용할 수 있는 많은 AWS 서비스를 프로그래밍 방식으로 액세스하고 관리할 수 있습니다.

PyPI 페이지: https://pypi.org/project/boto3/

홈페이지: https://github.com/boto/boto3


google-API-core

데이터 엔지니어링은 주로 클라우드에서 이루어지며 Google Cloud Platform(GCP)은 AWS, Azure, IBM, Oracle을 포함하는 상위 5개 제공업체 중 하나입니다. google-cloud-core 패키지 래핑 서비스는 인증 및 승인, HTTP 클라이언트 요청 및 응답 처리, 데이터 추출(Google 드라이브 등), 데이터 변환 및 데이터 관리와 같은 모든 Google 클라우드 API에 공통적입니다. 데이터 엔지니어의 경우 Google Cloud Storage 또는 BigQuery, Google의 클라우드 기반 데이터 웨어하우징 및 분석 플랫폼 또는 Cloud ML Engine과 같은 기계 학습 API의 데이터에 액세스하는 데 사용할 수 있습니다.

PyPI 페이지: https://pypi.org/project/google-api-core

홈페이지: https://github.com/googleapis/python-api-core


Azure 코어

또 다른 상위 5개 클라우드 공급자의 Azure Core는 Azure 클라우드 서비스와 상호 작용하기 위한 Python 라이브러리 및 API이며 데이터 엔지니어가 리소스에 액세스하고 엔지니어링 작업을 자동화하는 데 사용합니다. 일반적인 작업에는 배치 작업 제출 및 모니터링, 데이터베이스, 데이터 컨테이너 및 데이터 레이크 액세스, 일반적으로 가상 머신 및 컨테이너와 같은 리소스 관리가 포함됩니다. Python용 관련 라이브러리는 azure-storage-blob으로, 이미지, 오디오, 비디오 또는 텍스트와 같은 대량의 구조화되지 않은 데이터 검색 및 저장을 관리하도록 빌드된 라이브러리입니다.

PyPI 페이지: https://pypi.org/project/azure-core

홈 페이지: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core


데이터 및 빅 데이터 라이브러리

google-cloud-bigquery

검색 및 광고 비즈니스 데이터에 대한 대규모 데이터 분석을 수행하기 위해 Google에서 만든 BigQuery는 2010년에 처음 발표되었습니다. 출시 후 BigQuery는 대규모 데이터 세트(페타바이트)에서 빠른 SQL 쿼리를 수행하는 기능으로 빠르게 인기를 얻었습니다. 성능은 데이터를 저장하고 추출하는 방식에 따라 달라집니다. BigQuery는 열 형식으로 샤드에 데이터를 저장하고 분산 쿼리 엔진은 이러한 샤드 전체에서 쿼리를 병렬로 처리하므로 대규모 데이터 세트에서도 추하고 결과를 반환할 수 있습니다.  데이터 웨어하우스로 널리 채택되었으며 쉬운 설정과 직관적인 인터페이스로 인해 인기가 있습니다.

PyPI 페이지: https://pypi.org/project/google-cloud-bigquery/

홈페이지: https://github.com/googleapis/python-bigquery


grpcio

분산 API 시스템 또는 마이크로서비스 구축은 gRPC Python 패키지의 인기를 높이는 몇 가지 사용 사례입니다. gRPC는 모든 환경에서 실행할 수 있는 최신 오픈 소스 고성능 원격 프로시저 호출(RPC) 프레임워크입니다. 로드 밸런싱, 상태 확인, 인증 양방향 스트리밍 및 자동 재시도와 같은 기능은 안전하고 확장 가능하며 신뢰할 수 있는 애플리케이션을 구축하기 위한 강력한 도구입니다. 요약해서 말하자면 데이터 엔지니어는 grpcio를 사용하여 분산 시스템을 위한 효율적이고 확장 가능한 데이터 파이프라인을 구축할 수 있습니다.

PyPI 페이지: https://pypi.org/project/grpcio/

홈페이지: https://grpc.io


SQLAlchemy

SQLAlchemy는 데이터베이스와 상호 작용하기 위한 고급 인터페이스를 제공하는 Python SQL 도구 키트입니다. 이를 통해 데이터 엔지니어는 SQL과 유사한 문을 사용하여 데이터베이스에서 데이터를 추출하고 데이터베이스에서 데이터 삽입, 업데이트 및 삭제와 같은 일반적인 작업을 수행할 수 있습니다. SQLAlchemy는 또한 데이터 엔지니어가 데이터베이스 테이블의 구조를 Python 클래스로 정의하고 해당 클래스를 실제 데이터베이스 테이블에 매핑할 수 있는 ORM(개체 관계형 매핑)을 지원합니다. SQLAlchemy는 연결 풀링 및 연결 재사용과 같은 효율적이고 고성능 데이터베이스 액세스를 위해 설계된 잘 알려진 엔터프라이즈 수준 지속성 패턴의 전체 제품군을 제공합니다.

PyPI 페이지: https://pypi.org/project/SQLAlchemy

홈페이지: https://www.sqlalchemy.org

데이터 엔지니어링을 위한 기타 주목할만한 Python 라이브러리로는 PyMySQL 및 sqlparse가 있습니다.


redis-py

Redis는 대량의 데이터를 확장하고 처리할 수 있는 기능으로 인해 데이터 엔지니어링에서 널리 사용되는 인기 있는 메모리 내 데이터 저장소입니다. 로컬로 설치하거나 주요 클라우드 공급자에서 이미 사용할 수 있습니다. Redis-py는 사용자가 Redis 데이터베이스에 연결하고 데이터 저장 및 검색, 데이터 변환 및 데이터 분석과 같은 다양한 작업을 수행할 수 있도록 하는 Python 라이브러리입니다. Redis-py는 데이터베이스 또는 API에서 데이터를 추출하고 Redis에 저장하는 것을 포함하여 다른 소스의 데이터를 예약하고 통합하는 것과 같은 데이터 엔지니어링 작업을 자동화하는 데에도 사용할 수 있습니다.

PyPI 페이지: https://pypi.org/project/redis

홈페이지: https://github.com/redis/redis-py


pyspark

Apache Spark는 많은 양의 데이터를 빠르게 처리할 수 있는 확장 가능한 설계 덕분에 가장 인기 있는 오픈 소스 데이터 엔지니어링 플랫폼 중 하나이며 실시간 처리 또는 ETL, 기계 학습을 포함한 빅 데이터 분석이 필요한 작업에 이상적입니다. 또한 Hadoop 및 기타 빅 데이터 플랫폼과 같은 다른 플랫폼과 쉽게 통합할 수 있으므로 데이터 엔지니어가 다양한 데이터 소스 및 기술을 보다 쉽게 사용할 수 있습니다. PySpark 라이브러리를 사용하면 데이터 엔지니어가 정형 데이터, 비정형 데이터 및 스트리밍 데이터를 비롯한 다양한 데이터 소스 및 형식으로 작업할 수 있습니다.

PyPI 페이지: https://pypi.org/project/pyspark

홈페이지: https://github.com/apache/spark/tree/master/python





데이터 파싱 및 ETL 라이브러리

beautifulsoup4

데이터 엔지니어링이 항상 데이터 저장소 및 웨어하우스에서 데이터를 추출하는 것을 의미하지는 않습니다. 웹이나 문서와 같은 구조화되지 않은 소스에서 데이터를 추출해야 하는 경우가 많습니다. Beautiful Soup은 웹 페이지에서 정보를 쉽게 긁어낼 수 있게 해주는 라이브러리입니다. HTML 또는 XML 파서 위에 위치하여 구문 분석 트리를 반복, 검색 및 수정하기 위한 Python 관용구를 제공합니다. Beautiful Soup은 사용하기 쉽고 개발자가 구조화되지 않은 소스에서 데이터를 쉽게 추출하고 조작할 수 있기 때문에 데이터 엔지니어링을 위한 인기 있는 Python 라이브러리입니다.

PyPI 페이지: https://pypi.org/project/beautifulsoup4

홈페이지: https://www.crummy.com/software/BeautifulSoup


기계 학습 및 딥 러닝 라이브러리

scikit-learn

2007년 David Cournapeau, Fabian Pedregosa 및 Andreas Müller가 만든 scikit-learn은 SciPy 위에 구축된 기계 학습용 Python 모듈이며 PyTorch 및 Tensorflow와 같은 다른 프레임워크의 선구자였습니다. 오늘날 분류, 회귀 및 클러스터링은 물론 전처리 및 feature 엔지니어링 도구와 관련이 있습니다. 이를 통해 데이터 엔지니어는 기계 학습 모델과 파이프라인을 빠르고 쉽게 구축할 수 있습니다.

PyPI 페이지: https://pypi.org/project/scikit-learn

홈페이지: https://scikit-learn.org/stable/


TensorFlow 및 Keras

TensorFlow는 엔지니어가 모델을 구축하고 교육할 수 있도록 하는 잘 알려진 기계 학습 라이브러리입니다. 심층 신경망에 대한 교육 및 인터페이스에 중점을 두고 모델 교육 및 제공을 위한 유연한 플랫폼을 제공합니다. TensorFlow는 종종 딥 러닝 모델을 구축하고 교육하기 위해 Python으로 작성된 고급 API인 Keras와 함께 사용됩니다. 효율적인 수치 계산 라이브러리 Theano 및 TensorFlow를 래핑하고 엔지니어가 몇 줄의 코드만 사용하여 모델을 구축하고 교육할 수 있습니다. 데이터 엔지니어링은 데이터 사전 처리, 데이터 변환, 데이터 분석 및 데이터 시각화와 같은 작업에 TensorFlow를 사용할 수도 있습니다.

PyPl 페이지: https://pypi.org/project/tensorflow

홈페이지: https://www.tensorflow.org

PyPl 페이지: https://pypi.org/project/keras

홈페이지: https://keras.io


PyTorch

대규모 적응에도 불구하고 TensoFflow는 가파른 학습 곡선을 제공했으며 PyTorch는 기존의 다른 딥 러닝 프레임워크에 대한 보다 유연하고 사용자 친화적인 대안으로 만들어졌습니다. 사용 편의성 덕분에 PyTorch는 이제 가장 빠르게 성장하는 플랫폼 중 하나이며 NumPy, Pandas 및 TensorFlow와 같은 다른 도구와의 확장된 통합 및 향상된 성능을 제공합니다. 데이터 엔지니어는 유연하고 효율적인 모델 구축 및 교육을 가능하게 하는 동적 컴퓨팅 그래프 프레임워크를 제공하는 최초의 플랫폼 중 하나였기 때문에 플랫폼을 채택했습니다.

PyPI 페이지: https://pypi.org/project/torch

홈페이지: https://pytorch.org


virtualenv

데이터 엔지니어는 데이터 엔지니어링 및 패키지 버전을 위해 서로 다른 Python 라이브러리를 사용해야 하므로 격리된 가상 환경이 필수적입니다. Virtualenv는 다양한 시스템 설정에 간섭이 없도록 분리된 Python 환경을 만드는 도구입니다. Python 3.3부터 일부가 venv 모듈 아래의 표준 라이브러리에 통합되었습니다. Virtualenv는 복잡한 종속성이 있거나 다른 버전의 Python에서 실행해야 하는 프로젝트에 특히 중요합니다.

PyPI 페이지: https://pypi.org/project/virtualenv

홈페이지: https://virtualenv.pypa.io/en/latest


환경, 배포 및 배포 라이브러리

Docker 및 Kubernetes

Docker 라이브러리와 같은 컨테이너는 일관되고 예측 가능한 방식으로 실행하는 데 필요한 모든 필수 부분과 함께 애플리케이션 또는 서비스를 배포하기 위한 간편한 패키지를 만들기 때문에 엔지니어링에서 필수 요소가 되었습니다. 여기에는 런타임 환경(Python 등), 라이브러리, 데이터베이스, 구성 파일 및 기타 종속성이 포함될 수 있습니다. Docker와 같은 컨테이너는 종종 Kubernetes와 같은 컨테이너 오케스트레이션 도구와 함께 사용되어 컨테이너화된 애플리케이션의 배포 및 확장을 관리합니다. Kubernetes는 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하여 개발자가 로드 밸런싱, 자동 확장 및 자가 복구 기능과 같은 기능을 통해 애플리케이션을 대규모로 배포하고 관리할 수 있도록 합니다.

PyPI 페이지: https://pypi.org/project/docker

홈페이지: https://github.com/docker/docker-py

PyPI 페이지: https://pypi.org/project/kubernetes

PyPI 페이지: https://kubernetes.io


Dask

Dask는 여러 CPU에서 NumPy(과학적 컴퓨팅 및 데이터 분석에 사용되는 다작 Python 라이브러리)를 병렬화하기 위해 만들어졌으며 이제 Pandas DataFrames 지원과 XGBoost 및 scikit에 대한 효율적인 모델 교육을 포함하는 병렬 컴퓨팅을 위한 범용 라이브러리로 발전했습니다. 데이터 엔지니어는 또한 데이터 정리, 변환, 집계, 분석 및 탐색(Matplotlib 및 Seaborn 지원)과 같은 대규모 데이터 세트 작업을 보다 효율적이고 빠르게 만드는 내장 기능 및 병렬 처리 기능으로 인해 Dask를 채택했습니다. 데이터 엔지니어는 또한 Dask를 사용하여 컴퓨터 클러스터 전체에서 작업을 예약하는 데 사용할 수 있는 분산 스케줄러를 통해 워크로드를 확장할 수 있습니다.

PyPI 페이지: https://pypi.org/project/dask

홈페이지: https://github.com/dask/dask


Ray

UC Berkeley에서 인큐베이팅된 Ray는 “분산 컴퓨팅을 단순화”하고 기계 학습 워크로드를 포함한 Python 워크로드를 쉽게 확장하는 임무를 가졌습니다. 특히 Dask와 유사하게 Ray는 Python 코드를 쉽게 병렬화하고 처음부터 분산 응용 프로그램을 구축할 수 있도록 설계되었습니다. Ray는 널리 사용되는 Python 워크로드 도구를 대체하려고 시도하지 않고 오히려 모든 유형의 분산 애플리케이션을 구축하고 실행하는 데 사용할 수 있는 범용 클러스터링 및 병렬화 프레임워크에 가까운 일반적인 저수준 프레임워크를 제공합니다. 따라서 Dask, Ludwig, spaCy, Hugging Face 및 scikit-learn과 함께 가속 GPU 및 병렬 컴퓨팅을 활용하기 위해 Ray와 통합하는 프로젝트도 점점 늘어나고 있습니다.

PyPI 페이지: https://pypi.org/project/ray

홈페이지: https://github.com/ray-project/ray


Ansible

자동화를 위한 또 다른 최신 Python 라이브러리는 클라우드 프로비저닝, 구성 관리, 애플리케이션 배포, 서비스 내 오케스트레이션 및 여러 서버 또는 환경 관리를 위한 Ansible입니다. Ansible 라이브러리는 Chef, SaltStack 및 Puppet과 같은 다른 구성 관리 및 오케스트레이션 푸시 기반 도구와 유사합니다. 그러나 Ansible은 에이전트가 없고 자동화 작업을 설명하기 위해 사람이 읽을 수 있는 간단한 언어(YAML)를 사용한다는 점에서 이러한 도구와 다릅니다.

PyPI 페이지: https://pypi.org/project/ansible

홈페이지: https://www.ansible.com


python-jenkins 및 jenkinsapi

Jenkins는 서버에 애플리케이션 및 서비스의 빌드, 테스트 및 배포를 자동화하기 위한 확립된 지속적 통합  및 전달 도구입니다. Jenkins와 상호 작용하는 두 가지 인기 있는 Python 라이브러리는 python-jenkins 및 jenkinsapi입니다. 데이터 엔지니어링의 맥락에서 python-jenkins 라이브러리는 테스트, 작업 구성, 데이터 수집, 데이터 정리 및 데이터 변환을 포함하여 데이터 파이프라인 및 데이터 처리와 관련된 다양한 작업을 자동화하는 데 사용할 수 있습니다. 라이브러리를 사용하여 Jenkins 작업의 상태를 모니터링하고, 작업 로그를 검색하고, 실행 중인 작업을 취소할 수 있습니다. 마찬가지로 JenkinsAPI 라이브러리는 데이터 엔지니어링에서 데이터 파이프라인 및 기타 관련 작업의 구축 및 배포를 자동화하는 데 사용할 수 있습니다.

PyPI 페이지: https://pypi.org/project/jenkinsapi

홈페이지: https://www.jenkins.io


유틸리티 라이브러리

psutil

psutil(프로세스 및 시스템 유틸리티)은 Python에서 실행 중인 프로세스 및 시스템 활용(CPU, 메모리, 디스크, 네트워크, 센서)에 대한 정보를 검색하기 위한 크로스 플랫폼 라이브러리입니다. 주로 실행 중인 프로세스의 시스템 모니터링, 프로파일링 및 관리에 유용합니다. ps, top, iotop, lsof, netstat, ifconfig, free 등과 같은 고전적인 UNIX 명령줄 도구에서 제공하는 많은 기능을 구현합니다. 데이터 엔지니어링의 경우 CPU, 메모리, 디스크 및 네트워크 사용량을 포함하여 프로세스에서 사용하는 리소스를 제한하는 다양한 도구를 제공하므로 엔지니어는 프로세스가 너무 많은 리소스를 소비하지 않고 잠재적으로 시스템 성능에 영향을 미치지 않도록 할 수 있습니다.

PyPI 페이지: https://pypi.org/project/psutil/

홈페이지: https://github.com/giampaolo/psutil


urllib3

urllib3은 스레드 안전성, 압축 지원, 클라이언트 측 확인 및 Python 표준 라이브러리에 없는 기타 많은 유틸리티를 갖춘 Python용 HTTP 클라이언트입니다. 주요 기능에는 HTTP 요청(GET, PUT, POST, DELETE) 지원, 헤더 조작, 시간 초과 활성화 및 쿠키 지원이 포함됩니다.

PyPI 페이지: https://pypi.org/project/urllib3

홈페이지: https://urllib3.readthedocs.io/en/stable


python-dateutil

날짜와 시간을 조작해야 할 필요성은 파이썬에서 어디에나 있으며 내장된 datetime 모듈로는 충분하지 않은 경우가 많습니다. dateutil 모듈은 표준 datetime 모듈에 대한 확장판입니다. 시간대를 구현하거나 시간 델타를 계산하거나 보다 강력한 일반 구문 분석을 원하는 경우 이 라이브러리를 선택하는 것이 좋습니다.

PyPI 페이지: https://pypi.org/project/python-dateutil

홈페이지: https://github.com/dateutil/dateutil


pyyaml

대부분의 개발자는 원래 구성 파일을 빌드하는 데 사용된 구성 데이터를 저장하는 데 널리 사용되는 사람이 읽을 수 있는 데이터 직렬화 형식인 YAM에 익숙하지만 직렬화 언어이기 때문에 그 사용이 확장되었으며, JSON과 같은 파일 형식 대신 이제는 객체에도 널리 사용됩니다.  데이터 엔지니어링에서 pyyaml은 컨테이너 오케스트레이션, 데이터 파이프라인, 배치 작업 및 데이터 처리를 위한 일반 워크플로를 구성하는 데 자주 사용됩니다.

PyPI 페이지: https://pypi.org/project/PyYAML

홈페이지: https://pyyaml.org/


pyparsing

이 모듈은 정규식에 대한 대중적인 대안이며 기본 텍스트 파서를 구축하고 실행하는 데 사용할 수 있습니다. 사용자 정의 가능한 표현식을 평가하거나, 사용자 지정 애플리케이션 언어 명령을 처리하거나, 형식이 지정된 보고서에서 데이터를 추출하는 데 사용할 수 있습니다.

PyPI 페이지: https://pypi.org/project/pyparsing

홈페이지: https://github.com/pyparsing/pyparsing




답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다