Develop

Develop/DevCourseTIL

07.04 데이터 엔지니어링 62일차 - Spark

Spark 데이터 시스템 아키텍처 데이터 병렬처리가 가능하려면? 1. 데이터가 먼저 분산되어야 함 하둡 맵의 데이터 처리 단위는 디스크에 있는 데이터 블록 (128MB) hdfs-site.xml에 있는 dfs.block.size 프로퍼티가 결정 Spark에서는 이를 파티션이라고 부름. 파티션의 기본 크기도 128MB spark.sql.files.maxPartitionBytes: HDFS등에 있는 파일을 읽어올 때만 적용됨 2. 나눠진 데이터를 각각 따로 동시 처리 맵리듀스에서 N개의 데이터 블록으로 구성된 파일 처리시 N개의 Map 태스크가 실행 Spark에서는 파티션 단위로 메모리로 로드되어 Executor가 배정됨 처리 데이터를 나누기 -> 파티셔닝 -> 병렬처리 적절한 파티션의 수 = Executo..

Develop/DevCourseTIL

07.10 데이터 엔지니어링 66일차 - 빅데이터 처리의 발전단계

데이터 처리의 일반적인 단계 데이터 수집 (Data Collection) 데이터 저장 (Data Storage) 데이터 처리 (Data Processing) 이 과정에서 서비스 효율을 높이거나 의사결정을 더 과학적으로 하게 됨 데이터 처리의 고도화 처음에는 배치로 시작 처리할 수 있는 데이터의 양이 중요 (얼마나 큰 데이터를 한꺼번에 처리할 수 있는가) 서비스가 고도화되면서 실시간 처리 요구가 생기기 시작 Realtime 처리 vs Semi Realtime 처리 동일 데이터 소비가 필요한 케이스 증가: 다수의 데이터 소비자 등장 처리량(Throughput) vs 지연시간(Latency) 처리량(Throughput): 주어진 단위 시간 동안 처리할 수 있는 데이터의 양 클수록 처리할 수 있는 데이터의 양이..

Develop/TroubleShooting

sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not translate host name "postgres" to address: Temporary failure in name resolution

${POSTGRES_HOST}는 Docker Compose 파일에서 환경 변수를 참조하기 위한 구문입니다. ${POSTGRES_HOST}는 해당 환경 변수의 값을 가져와서 사용하라는 의미입니다. Docker Compose 파일에서 ${POSTGRES_HOST}를 사용하면 실제로는 환경 변수 POSTGRES_HOST의 값으로 치환됩니다. 이렇게 함으로써 동적으로 값을 설정할 수 있습니다. 따라서, ${POSTGRES_HOST}는 POSTGRES_HOST 환경 변수의 값을 참조하는데 사용됩니다. 환경 변수를 사용하여 컨테이너 간에 동적인 설정을 제공할 수 있습니다. Docker Compose 파일에서 변수를 사용하면 파일의 다른 위치에서 해당 변수를 설정하고, 필요에 따라 값을 변경하거나 환경에 따라 다른 ..

Develop/DevCourseTIL

06.16 데이터 엔지니어링 50일차 - container orchestration

container orchestration 서버의 상태를 관리하기 위한 노력 중앙제어 (master-node) 클러스터 단위로 추상화해서 관리 master server를 이용하여 관리자가 master server에 명령하면 master가 클러스터에 명령함 상태 관리 ex. 컨테이너가 3개였으면 좋겠어 -> 하나가 죽으면 새로운 하나를 생성 배포 관리 여유로운 서버를 찾거나 생성하여 스케줄링을 할 수 있음 배포 버전관리 각 컨테이너들의 버전을 중앙에서 관리할 수 있음 서비스 등록 및 조회 볼륨 스토리지 kubernetes (k8s) 컨테이너 기반 서비스 배포/스케일/관리 자동화를 해주는 오픈소스 프레임워크 구글에서 사용하던 Borg 서비스를 오픈소스화함 클라우드 on-prem 모두에서 잘 동작 모든 컨테이..

Develop/TroubleShooting

psycopg2 error: subprocess-exited-with-error 해결

situation pip install psycopg2 를 했더니 아래와 같은 오류 메시지를 받았다. solution 이는 PostgreSQL이 시스템에 설치되어 있지 않아서 생기는 문제이다. 따라서 postgreSQL을 설치해주거나 pip install psycopg2-binary 로 설치하면 psycopg2를 사용할 수 있다. 참고: https://stackoverflow.com/questions/71631259/can-not-install-psycopg2-on-mac-12-3-i-keep-getting-this-error

Develop/DevCourseTIL

06.15 데이터 엔지니어링 49일차 - Docker Compose

Docker-Compose 다수의 Container로 소프트웨어가 구성되는 경우 사용할 수 있는 툴 + 환경설정파일 docker-compose.yml(yaml)로 설정 여기서 다양한 테스트등도 수행가능 다양한 버전을 만드는 것도 일반적 (dev, test, prod 등등) 개인적으로 개발할 때 product일 때 등등.. 개별 Container를 따로 관리하는 것보다 훨씬 더 생산성이 높음 사용법 자체는 간단함, 소프트웨어를 구성하는 모든 컨테이너에게 적용됨 docker-compose up: docker run과 동일 docker-compose down: 컨테이너 중지 및 삭제까지 진행, 이미지는 그대로 있음 docker-compose pull: 그룹으로 진행 Docker Desktop의 일부로 설치됨 ..

향식이
'Develop' 카테고리의 글 목록 (5 Page)