본문 바로가기

반응형

SQL

[Spark/Hive] Spark에서 Hive 메타 스토어 사용하기 Spark의 DB와 테이블SparkSQL을 통해 임시 테이블을 만들어 SQL 조작이 가능하지만, Spark는 기본적으로 인메모리 기반이기 때문에, 세션이 종료되면 카탈로그라고 불리는 테이블과 뷰가 사라진다. 이 문제로 인해 Spark에서는 계속해서 사용해야 하는 테이블을 그때 그때 불러와줘야 하는 문제가 발생한다. Hive 메타스토어이를 해결하기 위해 Disk에 저장이 가능한 Hive와 호환이 되는 Persistent라는 카탈로그를 제공한다. 각 테이블들은 DB라고 부르는 폴더와 같은 구조로 관리된다. 위와 같이 스토리지 기반의 테이블은 기본적으로 HDFS오 Parquet 포맷을 사용하며, Hive와 호환되는 메타스토어를 사용한다. 여기엔 두 종류의 테이블이 존재한다.Managed Table: Spark.. 더보기
[Spark/pySpark] SparkSQL UDF(User Define Function) 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장 빅데이터의 기초 지식 얼마 전 같은 분야를 공부하는 지인에게 책을 하나 추천받았다. 데이터 엔지니어링에 대한 기초에 대해 꼼꼼하게 잘 정리된 책이라는 후기와 함께. 책 제목은 '빅데이터를 지탱하는 기술'이다. 이 책은 많은 사람들이 이제는 익숙한 '데이터 분석'에 대해 거의 다루지 않는다. 책의 저자도 '데이터 처리를 어떻게 시스템화하는가에 대한 문제'를 다룬다고 설명한다. 데이터 분석에서 80%의 시간이 데이터를 준비하는데 소요된다고 한다. 실제 현장의 목소리를 들어보면, '데이터 과학자로 입사했더니 데이터의 전처리만 주로 하고 있다.'는 하소연이 많다. '데이터 준비'라는 엔지니어링 부분을 효율화하지 않으면 데이터 분석의 수고가 사라지는 일은 없다.  책에서 인용한 위 내용처럼 데이터 분석에 있어 가장 시간이 많이 걸리는.. 더보기

728x90