일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 클라우데라
- 하둡에코시스템
- 하둡
- recommendation system
- eks
- 블로그
- 개발자혜성
- 개발자
- kafka
- 빅데이터플랫폼
- pyspark
- DataEngineering
- 빅데이터
- 데이터엔지니어
- apache spark
- spark
- redis bloom filter
- Terraform
- Spark structured streaming
- Python
- kubernetes
- 추천시스템
- 데이터엔지니어링
- dataengineer
- cloudera
- Data engineering
- BigData
- mlops
- hadoop
- AWS SageMaker
- Today
- Total
목록Data Engineering (36)
Hyesung Oh
ADD, COPY The path must be inside the context of the build; you cannot ADD ../something /something, because the first step of a docker build is to send the context directory (and subdirectories) to the docker daemon. If is a directory, the entire contents of the directory are copied, including filesystem metadata.The directory itself is not copied, just its contents. ADD vs COPY COPY는 로컬 파일을 Con..
EKS의 권한 제어 관련해서 궁금했던게 많았던 터라 공부하면서 내 나름대로 이해한 내용을 정리해보았다. RBAC (role based access control) K&8에서 정의할 수 있는 리소스 객체들을 이용하여 접근 제어를 하는 개념이다. 아래 리소스들을 사용한다. Role RoleBinding ServiceAccount Role이 binding된 (RoleBinding을 통해) ServiceAccount를 Pod에 할당함으로서 Pod는 지정된 Role을 사용할 수 있다. 이는 ServiceAcocunt 뿐만 아니라 User에도 동일하게 적용할 수 있다. 예제를 통해 작동원리에 대해 더 자세히 이해해보자. 개발자 A(아래 그림에서 test-user)가 kubernetes 클러스터의 특정 namespa..
Kafka 내부 동작 원리 이해하기 (1) Replication 편에 이어서. 다시 한번 강조하면 이 책은 고승덕님의 실전 카프카 개발부터 운영까지를 스터디하며 이해한 내용을 내 나름대로 정리한 포스팅입니다. 따라서 책과 다른 내용이 있다면 그것은 본인이 실수이니 수정 코멘트 부탁드리겠고, 자세하고 정확한 내용은 책을 참고바랍니다. 컨슈머 오프셋 관리 컨슈머가 제대로 동작하려면 오프셋(Offset) 관리가 핵심이다. 어디까지 읽었는지에 대한 북마크라고 이해하면 된다. 그렇다면 오프셋 정보는 어디에서 관리될까? 카프카에 맡길 수도 있고, 컨슈머 자체적으로 HDFS compatible storage에 저장하여 관리할 수도 있다 (ex. Spark Structured Streaming). 전자 방식의 경우 컨..
시작하기에 앞서 이번 시리즈는 고승덕님의 실전 카프카 개발부터 운영까지를 스터디하며 이해한 내용을 내 나름대로 정리한 포스팅임을 밝힌다. 양질의 저서를 출판해주신 고승덕님께 깊이 감사의 말씀을 전합니다. EDA(Event Driven Architecture)에서 Kafka는 SPOF(Single Point of Failure)가 될 수 있다. 따라서 Kafka는 물론이고 Hadoop 등의 분산 시스템에서는 애플리케이션의 HA(High Availability)를 위해 내부적으로 replication 동작을 수행하게 된다. Kafka에서 Topic 생성시 replication factor 지정은 필수이다. 그 외에도 많은 기업에선 클러스터간 미러링, 서버의 지리적 분산 등의 기본적인 조치를 취하게 된다. 분..
Structured Streaming + Kafka Integration Guide (Kafka broker version 0.10.0 or higher) 기준 내용이며, 실무에서 Kafka를 컨슈밍하는 Spark 스트리밍 어플리케이션을 운영하며 나름대로 적용하고 실험해본 옵션들에 대한 본인만의 노트인 점 참고바란다. kafka.group.id (default None) kafka consumer는 항상 하나의 consumer group에 속하게 되는데 이에 대한 식별자이다. Spark 내부적으로 스트리밍 쿼리마다 default generation 대상이며, 이를 특별히 지정하고자 하는 경우 사용한다(예를 들어 Kafka group-based authorization). 하지만 이를 사용하게 되면 bat..
TroubleShooting worker failed # redash.prod.values.yaml # 워커 수 상향 조정 adhocWorker: env: QUEUES: "queries,celery,schemas,default,periodic,scheduled_queries" WORKERS_COUNT: 6 scheduledWorker: env: QUEUES: "scheduled_queries,schemas" WORKERS_COUNT: 1 browser timeout # redash.prod.values.yaml # falsk webserver(gunicorn)의 timeout 값 상향 조정 server: env: GUNICORN_CMD_ARGS: "--timeout 600" scheduling faile..
terraform import kubernetes_config_map.aws_auth kube-system/aws-auth EKS 클러스터 생성 후 사용자 역할을 추가하기 위해 aws-auth configmap를 Terraform resource로 관리하게 되었다. 참고 resource "kubernetes_config_map" "aws_auth" { data = yamldecode(local.eks_prod_aws_auth_configmap_yaml)["data"] metadata { name = "aws-auth" namespace = "kube-system" } } aws-auth configmap의 경우 EKS 클러스터가 만들어질 때 자동으로 클러스터 생성자의 IAM Role이 systemr:ma..
EMRFS EMR의 S3 파일 읽기 쓰기와 관련된 프로토콜 집합이며, Amazon S3로 직접 일반 파일을 읽고 쓰는 데 사용하는 HDFS 구현체이다. 그리고 여기엔 다양한 기능들이 포함되는데, 그 중에서도 대표적으로 실무에서 가장 많이 이슈를 겪었던 consistent view와 s3-optimized commiter에 대해 다뤄보려 한다. EMRFS consistent view EMR에서는 file consistency를 강화하기 위해 자체적인 consistent view 메커니즘을 지원한다. EMR이 S3 또는 file system에 파일에 대한 메타정보를 DynamoDB에 관리한다. EMR 단에서 file을 create, delete를 하게 되면, 정상적으로 DynamoDB 메타정보와 sync가 ..