일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- cyclerotation
- 코테
- AWS
- 디비설치
- GCP mysql
- Codility
- 파이서닉
- Binary_gap
- s3목록
- 답안지표기잘못한느낌...
- 맞출수있었는데...
- 공백null치환
- 공백Trim
- 차이
- import from 차이점
- Glue의 두 가지 핵심 기능
- 1000개 이상
- Glue
- airflow설치
- docker-compose
- 프로그래머스
- python
- docker
- 공백트림
- 데이터카탈로그
- 도커 에어플로
- 파이써닉
- docker airflow
- 이직 3개월차
- 코딩테스트
- Today
- Total
목록전체 글 (34)
작은하마
21년 10월에 이직을하고 무척이나 후회와 고민을 많이 했다. "이직하지말걸..." "다른곳을 충분히 더 두드려볼걸..." "이번년도까지만 해볼걸..." 3개월에 지난 지금. 내가 지금 느끼는건 그래도 이직해서 "더 많은 사람들 더 많은 경험을 해볼수 있어서 좋다!" 이다. 문론 지금 내가 정말 원하는 일도 원하는 사람들과 함께하는것도 그렇다고 출퇴근이 편한것도 아니다. 하지만 확실한건, 이전직장에 머물렀다면 내가 이곳에 입사해서 느낀 것들을 경험할 수 없다이다. 이 글을 보는 미래의 나 자신, 혹은 이글을 보게되는 학생, 회사원분들 사람은 적응의 동물이기에 처음에 누구나 다 힘들다. 그러니 계속 새로운 것 낯선것에 대해 피하지말자
https://cloud.google.com/bigquery/docs/access-control 사전 정의된 역할 및 권한 | BigQuery | Google Cloud 의견 보내기 사전 정의된 역할 및 권한 이 페이지에서는 BigQuery의 ID 및 액세스 관리(IAM) 역할과 권한에 대한 정보를 제공합니다. 각 BigQuery 관련 제품과 관련된 역할과 권한을 포함합니다. BigQuery cloud.google.com IAM의 bigquery.jobs.created의 권한이 필수적이며 해당 사용자에게 권한 부여 후 권한을 줄 DataSet에서 DataSet공유를 통하여 BigQuery 데이터 뷰어 nm.bigquery.jobcreate권한을 부여한다.

혹시 누군가가 제목 그대로 위의 확장자의 차이점을 묻는다면 잘 대답 할 수 있나요? 저는 아니라서 글을 남긴다 아주 좋은 비교표가 있어 가져왔다 csv는 일반적으로 엑셀데이터 라고 생각하면되구 그래서 row기반 데이터라 생각하면대구 Json하고 parquet은 알아가는중이다 이밖에도 avro, orc도있는데 아는것은 orc는 hive에 최적화되고 parquet은 spart에 최적화된 형식이다
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에서 다수의 빅데이터 서비스를 내놓았을까..

CentOS가 대부분의 클라우드에서 사용하는 OS라 CentOS도 공부할겸 겸사겸사 Kafka도 설치해보고 하려한다. 먼저 Docker-compose를 설치하기전에 Docker의 설치가 선행되어야 한다. 출처 - https://jsonobject.tistory.com/532 CentOS 7, Docker 및 Docker Compose 설치하기 개요 이번 글에서는 CentOS 7에서 docker , docker-compose 를 설치하는 방법을 소개하고자 한다. Docker 설치 docker를 사용하면 운영체제와 독립적인 이미지를 인스턴스로 올려 컨테이너로 작동시킬 수 있 jsonobject.tistory.com # Docker 저장소 설치 $ curl -fsSL https://get.docker.com/..

최근 면접에서 "Athena와 Redshift Spectrum 차이가 무엇입니까?" 에 대한 질문이 들어와서 적잖히 당황한적이 있었다. 문론 나는 Athena도 Redshift Spectrum(Spectrum)도 둘다 개발을 할 때 유용하게 사용한것들이다. 일단 나의 경우로는 Athena는 서버리스 데이터쿼리 방식으로 따로 클러스터가 존재하지않고 Specturm은 레드시프트의 클러스터리소스를 사용한다 또한, 둘 다 Glue의 데이터 카탈로그를 사용하여 S3의 데이터를 읽어오게 되는데 여기서 차이는 Athena는 다른 리전에 있는 S3에 접근이 가능하지만 Spectrum은 동일 리전에 존재해야하는것? 아래는 더 정확한 성능 비교를 한 도표이다. 이 표를 보고 내가 놀랬던 것은 비용. Athena만 S3 데..
파이썬으로 개발을 하다보면 import pandas as pd from pyspark import sparkcontext 와같은 패키지 또는 함수호출 명령어를 사용한다. import는 무엇이고 from은 무엇일까? import 모듈이름 - 해당하는 모듈 전체를 가져온다. - 사용을 하려면 모듈이름.메소드 형식으로 사용한다. from 모듈이름 import 메소드or변수 - 해당하는 모듈의 특정 메소드, 변수만을 가져온다. - 사용을 하려면 메소드명만을 사용한다. - from 모듈이름 import * => import 모듈이름 과 같다. import 모듈이름 as 별칭 - 모듈이름이 길어 사용성이 안좋을경우 별칭을 사용하여 사용한다. - 별칭.메소드 형식으로 사용한다.
오늘 한 회사에 면접을 봤다. 나의 이력을 바탕으로 면접을 진행했고 GLUE에 대한 질문이 나왔다. "Glue를 사용해서 프로젝트를 했다고 했는데 Glue가 ETL의 기능만 있는것이 아니잖아요? 그렇다면 ETL말고 다른 핵심적인 기능이 무었이 있죠?" 이말을 들은 나를 순간 머릿속이 새하얗게 되어버렸다. 나는 17년 8월에 출시된 Glue를 18년도에 처음 사용한 유저로서 나름 첫 스타트를 같이 했고 나름대로 이 서비스를 사용함에 있어 많은 시행착오를 격었기 때문이다. 문론 지금은 정답을 알고있다. "데이터 카탈로그생성" 이 기능을 사용하면 Athena에서 S3데이터를 쿼리할 수 있고 그 밖의 EMR이나 RedshiftSpectrum과 같은 서비스에서 사용할 수 있기 떄문이다. 특히 EMR에서 실행되는 ..
문득 https://blex.me/@baealex/pythonic%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80 Pythonic이란 무엇인가? — baealex 파이써닉(Pythonic) 파이썬스러운 코드라는 의미. 아주 잘 짜여진 Python 코드를 Pythonic 하다고 부른다. 파이썬스러운 코드라? 파이썬은 무엇보다 읽기 쉽고 가독성이 높은 것을 추구한다. 파이썬에 blex.me 위의 게시글에서 Pythonic한 코드의 중요성에 대해 기술을 하였다. 나는 평소에 잘 짜여진 코드는 누가봐도 알아보기 쉽게 잘 정돈된 코드를 지향하고 현재도 그러고있다. 최대한 반복적인 코드를 줄이면서 쓸데없는 변수와 함수를 줄이고 최소한의 인터페이스로 간결하게. 이것이..
https://app.codility.com/programmers/lessons/4-counting_elements/perm_check/ PermCheck coding task - Learn to Code - Codility Check whether array A is a permutation. app.codility.com def solution(A): A=sorted(A) if A[0]!=1: return 0 else: for i in range(len(A)-1): if A[i]+1!=A[i+1]: return 0 else : continue return 1