본문 바로가기
728x90

IT 개인학습45

정규표현식 💡 위키백과 정규 표현식(正規表現式, 영어: regular expression, 간단히 regexp 또는 regex, rational expression) 또는 정규식(正規式)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어 이다. 문자열을 처리하는 방법 중의 하나로 특정한 조건의 문자를 '검색'하거나 '치환'하는 과정을 매우 간편하게 처리 할 수 있도록 하는 수단 https://regexr.com/ RegExr: Learn, Build, & Test RegEx RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp). regexr.com https://regexper.com/ Regex.. 2022. 5. 7.
Deploy 1. 마트화 쿼리 작성(= Jupyter에서 제공할 테이블 코드 작성) 2. Github에 pyspark, DAG 코드 -> PR 리뷰어 설정 후 Slack PR확인 요청, 확인 후 Merge = 다른 배치 영향안주는지 확인해보는 것이 좋음 3. DAG에 추가 수정 있을 경우 Jenkins 배포(배포 전 release 최신버전 필요) Pyspark 쿼리만 변경 시 x DAG 란? 데이터파이프라인을 의미하는 하나의 단위 - 하나 이상의 Task를 가지고 있고, 각각의 task들은 실행 순서를 가지고 실행 Deploy 순서 1. S3에 pyspark script 업로드(= Airflow는 S3에 있는 pyspark 파일을 읽어서 작업) 경로 : Croquis-data-emr-da > application >.. 2022. 5. 7.
Jenkins 젠킨스 Jenkins - CI/CD 툴 CI/CD - 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법 Continuous Integration(개발자를 위한 자동화 프로세스인 지속적인 통합하는 것) Continuous Delivery(지속적인 서비스 제공 및 지속적인 배포가능한 상태를 유지하는 것) 1. 자동화된 방식으로 연속적인 데이터 통합 작업을 실행할 수 있는 Java 기반 오픈 소스 서버입니다. 2. 데이터 통합을 촉진하고 소프트웨어 프로젝트를 위한 데이터의 안전한 전달을 보장합니다. 또한 프로젝트 구축, 테스트 및 배포와 관련된 다양한 작업을 자동화합니다. 다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유영역에 .. 2022. 5. 7.
SQL SQL 읽히는 순서 FROM : 각 테이블 확인 ON : 조인 조건 확인 JOIN : 테이블 조인 (병합) WHERE : 데이터 추출 조건 확인 GROUP BY : 특정 칼럼으로 데이터 그룹화 HAVING : 그룹화 이후 데이터 추출 조건 확인 SELECT : 데이터 추출 DISTINCT : 중복 제거 ORDER BY : 데이터 정렬 CASE조건 SELECT Price, IF (Price > 30, 'Expensive', 'Cheap'), CASE WHEN Price < 20 THEN '저가' WHEN Price BETWEEN 20 AND 30 THEN '일반' ELSE '고가' END FROM Products; ## switch 문 방식 ''' 조건을 부여할 수는 없고 컬럼의 값만 체크하여 값을 반환할.. 2022. 5. 7.
Airflow Airflow - workflow관리 툴 Airflow는 Python 코드로 워크플로우(workflow)를 작성하고, 스케쥴링, 모니터링 하는 플랫폼입니다. Airflow를 통해서 데이터엔지니어링의 ETL 작업을 자동화하고, DAG(Directed Acyclic Graph) 형태의 워크플로우 작성이 가능합니다. 이를 통해 더 정교한 dependency를 가진 파이프라인을 설정할 수 있습니다. 또한 AWS, GCP 모두 Airflow managed service를 제공할 정도로 전세계 데이터팀들에게 널리 사용되고 있으며 그만큼 넓은 커뮤니티를 형성하고 있습니다. Apache Airflow는 자동화된 워크플로를 예약하는 기능도 제공합니다. 즉, 사람의 개입 없이 워크플로가 지정된 시간에 실행됩니다. 따라서 .. 2022. 5. 7.
Python에서 시간 측정하기(Decorator, Command line) * Decorator 활용 import time from functools import wraps def check_time(function): @wraps(function) def measure(*args, **kwargs): start_time = time.time() result = function(*args, **kwargs) end_time = time.time() print(f"@check_time: {function.__name__} took {end_time - start_time}") return result return measure @check_time def test_function(): for _ in range(10000): print("Just print something") .. 2021. 9. 26.
Error, try ... except Error 1. 실행전 Error => 구문에러( SyntaxError ) = 문법적인 문제가 발생 2. 실행중 Error => 예외( Exception, RuntimeError ) ==> 예외처리해줄 수 있음 ( Exception handling = 조건문 or try except 구문 ) Error list AssertionError: assert 문이 제대로 작동하지 않을 때 발생합니다. IndexError: 참조 하려는 인덱스가 범위를 벗어날 때 발생합니다. KeyError: 참조 하려는 키가 기존 키 집합에서 찾을 수 없을 때 발생합니다. KeyboardInterrupt: 사용자가 인터럽트 키(Control + C, 혹은 Delete)를 누를 때 발생하며, 모든 Exception을 잡는 코드에 .. 2021. 7. 18.
Class 상속(inheritance) 상속(inheritance) 국가라는 클래스가 있고, 그것을 상속받은 한국, 일본, 중국, 미국 등의 클래스를 만들 수 있으며, 국가라는 클래스의 기본적인 속성으로 인구라는 속성을 만들었다면, 상속 받은 한국, 일본, 중국 등등의 클래스에서 부모 클래스의 속성과 메소드를 사용할 수 있음 class 부모클래스: # (Parent Class, Super class) ...내용... class 자식클래스(부모클래스): # (Child class, sub class) ...내용... # 자식클래스에서는 부모클래스의 속성과 메소드는 기재하지 않아도 포함이됨 MRO(Method Resolution Order)란? 메소드 결정 순서 __mro__ 파이썬은 기본적으로 다중 상속을 지원 죽음의 다이아몬드는 다중 상속을 .. 2021. 7. 18.
728x90