[AWS RDS/MySQL] AWS RDS에서 MySQL 이벤트 스케줄러 설정하기
·
Minding's Programming/AWS
MySQL 이벤트 스케줄러?MySQL의 이벤트 스케줄러는 특정 시간 간격 또는 지정된 시점에 SQL 쿼리를 자동으로 실행할 수 있도록 도와주는 기능으로, 이를 통해 특정 시간에 예약해야 하는 작업들을 반복적으로 실행할 수 있다. Cron과 유사한 역할이라고 보면 되며, DB 내에서 직접 관리된다. MySQL의 장점은 MySQL 서버 내에서 쿼리가 자동으로 실행되기 때문에 외부의 서버 또는 애플리케이션을 통해 스크립트를 보내지 않아도 된다는 것이다. 클라이언트와도 독립적으로 실행되기 때문에, 간단한 작업의 경우 이벤트 스케줄러를 이용하는 장점이 극대화된다. 구성 요소MySQL 이벤트 스케줄러는 크게 '이벤트'와 '스케줄러' 2가지로 나뉘어져 있다.이벤트: 실행할 SQL 명령어 또는 명령어 블록이다.스케줄러..
[Spark/Hive] Spark에서 Hive 메타 스토어 사용하기
·
Minding's Programming/Spark
Spark의 DB와 테이블SparkSQL을 통해 임시 테이블을 만들어 SQL 조작이 가능하지만, Spark는 기본적으로 인메모리 기반이기 때문에, 세션이 종료되면 카탈로그라고 불리는 테이블과 뷰가 사라진다. 이 문제로 인해 Spark에서는 계속해서 사용해야 하는 테이블을 그때 그때 불러와줘야 하는 문제가 발생한다. Hive 메타스토어이를 해결하기 위해 Disk에 저장이 가능한 Hive와 호환이 되는 Persistent라는 카탈로그를 제공한다. 각 테이블들은 DB라고 부르는 폴더와 같은 구조로 관리된다. 위와 같이 스토리지 기반의 테이블은 기본적으로 HDFS오 Parquet 포맷을 사용하며, Hive와 호환되는 메타스토어를 사용한다. 여기엔 두 종류의 테이블이 존재한다.Managed Table: Spark..
[Spark/pySpark] SparkSQL UDF(User Define Function)
·
Minding's Programming/Spark
UDF?UDF(User Define Function)는 SQL(Spark에서는 DataFrame까지)에서 적용할 수 있는 사용자 정의 함수다. 일반적으로 SQL에서 Scalar함수(UPPER, LOWER 등), Aggregation함수(SUM, MIN, AVG 등)를 제공하고 있지만, 상황에 따라서 특정 계산식이 반복해서 필요할 때가 있다. 그럴 때 유용하게 사용할 수 있는 것이 UDF이다. pySpark에서 UDF를 사용해보기UDF는 크게 두 가지의 종류가 있다.Transformation 함수UDAF(User Define Aggregation Function): Aggregation 환경에서 사용하는 함수(Pyspark에서는 미지원)UDAF의 경우는 스칼라 또는 자바로 구현해야한다. 그렇다면, 다른 함..
[빅데이터를 지탱하는 기술] 1장 빅데이터의 기초 지식
·
Minding's Reading/빅데이터를 지탱하는 기술
얼마 전 같은 분야를 공부하는 지인에게 책을 하나 추천받았다. 데이터 엔지니어링에 대한 기초에 대해 꼼꼼하게 잘 정리된 책이라는 후기와 함께. 책 제목은 '빅데이터를 지탱하는 기술'이다. 이 책은 많은 사람들이 이제는 익숙한 '데이터 분석'에 대해 거의 다루지 않는다. 책의 저자도 '데이터 처리를 어떻게 시스템화하는가에 대한 문제'를 다룬다고 설명한다. 데이터 분석에서 80%의 시간이 데이터를 준비하는데 소요된다고 한다. 실제 현장의 목소리를 들어보면, '데이터 과학자로 입사했더니 데이터의 전처리만 주로 하고 있다.'는 하소연이 많다. '데이터 준비'라는 엔지니어링 부분을 효율화하지 않으면 데이터 분석의 수고가 사라지는 일은 없다.  책에서 인용한 위 내용처럼 데이터 분석에 있어 가장 시간이 많이 걸리는..