일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Binary_gap
- Glue의 두 가지 핵심 기능
- 공백null치환
- 디비설치
- 공백Trim
- 공백트림
- 도커 에어플로
- 맞출수있었는데...
- cyclerotation
- 데이터카탈로그
- GCP mysql
- import from 차이점
- 코딩테스트
- docker-compose
- 답안지표기잘못한느낌...
- 코테
- 파이서닉
- 차이
- 1000개 이상
- AWS
- 파이써닉
- s3목록
- docker
- airflow설치
- 프로그래머스
- python
- 이직 3개월차
- Glue
- docker airflow
- Codility
- Today
- Total
목록AWS (6)
작은하마
AWS EMR = Apache Spark, Apache Hive, Apache HBase, Apache Flink, Apache Hudi 및 Presto와 같은 오픈 소스 도구를 사용하여 방대한 양의 데이터를 처리하기 위한 업계 최고의 클라우드 빅 데이터 플랫폼 AWS GLUE = 분석, 기계 학습 및 애플리케이션 개발을 위해 데이터를 쉽게 탐색, 준비, 그리고 조합할 수 있도록 지원하는 서버리스 데이터 통합 서비스 데이터 엔지니어의 직무를 하다보니 두가지의 서비스를 사용해봤다. EMR에 Airflow를 설치하여 mysql => s3, s3 => s3 를 처리했고 Glue를 사용하여 S3 => Redshift 를 처리했다. 둘다 같은 업무를 했기 떄문에 왜? AWS에서 다수의 빅데이터 서비스를 내놓았을까..

최근 면접에서 "Athena와 Redshift Spectrum 차이가 무엇입니까?" 에 대한 질문이 들어와서 적잖히 당황한적이 있었다. 문론 나는 Athena도 Redshift Spectrum(Spectrum)도 둘다 개발을 할 때 유용하게 사용한것들이다. 일단 나의 경우로는 Athena는 서버리스 데이터쿼리 방식으로 따로 클러스터가 존재하지않고 Specturm은 레드시프트의 클러스터리소스를 사용한다 또한, 둘 다 Glue의 데이터 카탈로그를 사용하여 S3의 데이터를 읽어오게 되는데 여기서 차이는 Athena는 다른 리전에 있는 S3에 접근이 가능하지만 Spectrum은 동일 리전에 존재해야하는것? 아래는 더 정확한 성능 비교를 한 도표이다. 이 표를 보고 내가 놀랬던 것은 비용. Athena만 S3 데..
오늘 한 회사에 면접을 봤다. 나의 이력을 바탕으로 면접을 진행했고 GLUE에 대한 질문이 나왔다. "Glue를 사용해서 프로젝트를 했다고 했는데 Glue가 ETL의 기능만 있는것이 아니잖아요? 그렇다면 ETL말고 다른 핵심적인 기능이 무었이 있죠?" 이말을 들은 나를 순간 머릿속이 새하얗게 되어버렸다. 나는 17년 8월에 출시된 Glue를 18년도에 처음 사용한 유저로서 나름 첫 스타트를 같이 했고 나름대로 이 서비스를 사용함에 있어 많은 시행착오를 격었기 때문이다. 문론 지금은 정답을 알고있다. "데이터 카탈로그생성" 이 기능을 사용하면 Athena에서 S3데이터를 쿼리할 수 있고 그 밖의 EMR이나 RedshiftSpectrum과 같은 서비스에서 사용할 수 있기 떄문이다. 특히 EMR에서 실행되는 ..
인터넷에 찾아보니 IaaS, PaaS, SaaS를 좀 어렵게 설명을 해서 나에게 맞는 개념으로 다시 설명을 하려고 합니다. 1. IaaS(Infrastructure-as-a-Service) - AWS, Azure, GCP 와 같은 클라우드를 말함 2. PaaS(Platform-as-a-Service) - TreasureData, Oracle, Adobe와 같은 솔루션을 판매하는 회사 3. SaaS(Platform-as-a-Service) - Glue, MQ, Codecommit과 같이 IaaS에서 제공하는 솔루션
AWS에서 Boto3는 가장 기본으로 가져가야할 지식이 아닌가 한다. 최근 Glue에서 S3의 Log파일을 읽어와 DF에서 전처리를 진행하는 작업을 하나 만들었었는데 최근 이게 문제가 발생하였다. list_objects_v2를 사용하여 S3의 목록 갯수가 1000개가 넘어가면 1000개 이후의 목록들은 잘려서 가져오는데 여기서 문제가 발생하였다. 확인결과 리스트에 1130개 정도의 목록이 있었고 필요한 Log파일은 1000개를 제외한 130개 중 하나에 있었다. 여러가지 해결방안이 생각이 났다. 1. log파일의 경로를 파티셔닝 시켜서 1000개이상이 되지 않도록 만든다 => 날짜별 폴더를 생성하게 만들기 2. 파일을 오름차순, 또는 내림차순시켜서 해당파일을 1000개 안으로 가져오게 만든다. 3. 10..

Glue에서 수많은 잡을 만들어서 일배치를 하고있는데 매일 저녁, 새벽 이 배치가 잘 끝났는지 아니면 오류가나서 중지된건지 매일 일일이 들어가서 보기가 너무너무 귀찮아 Slack으로 배치 결과를 보내기로했다. 원래는 오류가 나면 CloudWatch에서 SNS로 이메일로 오류를 전송해주거나 따로 JOB아래에 SNS로 결과를 이메일로 전달해주는 코드로 확인하곤 했는데 이번에는 Slack이라는 좋은 협업툴이 있어 이쪽으로 전송을 하게되었다. 빨간 박스에 있는 Job에서 각각의 log파일을 파싱하여 중단을 할지 뒷단의 MT Job을 진행시킬지 결정한다. result=s3.list_objects_v2(Bucket=bucket, Prefix=key_path) for item in result['Contents']:..