Spark 내부동작Spark 파일 포맷작업에 맞는 파일 최적화 필요Unstructured (비구조화) : TextSemi-structured (반구조화) : json, xml, csvStructured (구조화) : parquet, avro, orc, sequencefileSpark의 주요 파일 포맷Splittable : HDFS 데이터 블록의 Partition으로 바로 올라갈 수 있는지 여부Human readable : 사람이 읽을 수 있는지 여부Nested structure support : subfield를 지원하는지 여부Schema evolution : 스키마가 다른 데이터끼리 사용 가능한지 여부ParquetSpark의 기본 파일 포맷Hybrid Storage 방식하나의 데이터 블록은 하나의 Ro..
Spark 프로그래밍 : SQLSpark SQL 소개Spark SQL과 Spark DataFrame의 차이점과 Spark SQL의 사용법을 알아보자.SQL의 중요성데이터 분야의 필수적인 기본 기술구조화된 데이터를 다룬다면, SQL은 데이터 규모와 관계없이 쓰임모든 대용량 DW는 SQL 기반 : Redshift, Snowflake, BigQuery, Hive/PrestoSpark도 Spark SQL 지원Spark SQL구조화된 데이터 처리를 위한 Spark 모듈데이터 프레임 작업을 SQL로 처리 가능데이터 프레임이 테이블 이름 지정 후 sql 함수 사용 가능HQL(Hive Query Language)과 호환 가능Spark SQL vs DataFrameSQL로 가능한 작업이라면 DataFrame을 사용할 이..
Spark 프로그래밍 : DataFrameSpark 데이터 처리Spark 데이터 시스템 아키텍처데이터 병렬처리데이터 분산하둡 맵의 데이터 처리 단위는 디스크에 있는 데이터 블록 (128MB)Spark에서는 이를 파티션 (Partition)이라 부름, 파티션의 기본 크기도 128MB나눠진 데이터를 동시 처리MapReduce에서 N개의 데이터 블록으로 구성된 파일 처리 시 N개의 Map 태스크 실행Spark에서는 파티션 단위로 메모리에 로드되어 Executor 배정데이터 분산 -> 파티셔닝 -> 병렬 처리Executor는 할당된 CPU 수만큼의 태스크 처리 가능적절한 파티션 개수 = Execution 개수 * Execution 당 CPU 수Spark 데이터 처리 흐름데이터 프레임은 작은 파티션들로 구성되며,..
빅데이터 처리와 Spark 소개빅데이터와 대용량 분산 시스템빅데이터 정의서버 한대로 처리할 수 없는 규모의 데이터기존의 소프트웨어로는 처리할 수 없는 규모의 데이터4VVolume : 데이터의 크기Velocity : 데이터의 처리 속도Variaty : 구조화 / 비구조화 데이터Veracity : 데이터의 품질빅데이터의 예디바이스 데이터 : 모바일, 스마트 TV, 각종 센서 (IoT) 데이터, 네트워킹 디바이스 등웹수십 조개 이상의 웹 페이지 존재 -> 지식의 바다웹 검색엔진 개발은 진정한 대용량 데이터 처리사용자 검색어와 클릭 정보 자체도 대용량요즘 웹 개발 자체가 NLP 거대 모델 개발의 훈련 데이터로 사용빅데이터 처리의 특징과 해결방안스토리지큰 데이터를 손실 없이 보관할 방법이 필요큰 데이터 저장이 가..