본문 바로가기

Learning Spark7

[3장] 아파치 스파크의 정형화 API [2] 자주 쓰이는 데이터 프레임 작업들 데이터 프레임에서 일반적인 데이터 작업을 수행하려면 구조화된 데이터를 갖고 있는 데이터 소스에서 데이터 프레임으로 로드를 해야하는데, 이를 위해 스파크는 DataFrameReader라는 이름의 인터페이스를 제공한다. 이 인터페이스는 JSON, CSV, Parquet, 텍스트, 에이브로, ORC 같은 다양한 포맷의 데이터 소스를 읽는것을 지원한다. 특정 포맷의 데이터소스에 데이터 프레임의 데이터를 써서 내보내기 위해서는 DataFrameWriter를 쓴다. # 파이썬에서 스키마를 정의한다. from pyspark.sql.types import * # 프로그래밍적인 방법으로 스키마를 정의한다. fire_schema = StructType([StructField('CallNu.. 2023. 7. 25.
[2장] 아파치 스파크 시작 아파치 스파크 다운로드 pip isntall pyspark 를 통해서 pyspark를 설치해준 상태에서 로컬로 실시했다. 파이스파크 셸 사용 pyspark, spark-shell, spark-sql, sparkR의 네 가지 인터프리터들이 포함되어 있어 일회성 데이터 분석이 가능하며, 파이썬, 스칼라, R, SQL이나 bash 같은 유닉스 셸을 써봤으면 대화형 셸들이 익숙할 것이다. 이 셸들은 클러스터에 연결하고 분산 데이터를 스파크 워커 노드의 메모리에 로드할 수 있도록 확장 되어왔다. 로컬 머신에서 사용하기 ㅇ스파크 연산들은 작업으로 표현되는데, 작업들은 태스크라는 저수준 RDD 바이트 코드로 변환되며 실행을 위해 스파크의 이그제큐터들에 분산된다. 이후 빠져나가기 위해서 Ctrl-D를 누르면 된다. 스.. 2023. 7. 7.
[1장] 아파치 스파크 소개 아파치 스파크란!!?? 데이터 센터나 클라우드에서 대규모 분산 데이터 처리를 하기 위해 설계된 통합형 엔진! 스파크는 중간 연산을 위해 메모리 저장소를 지원하여 하둡 맵리듀스보다 훨씬 빠르게 동작할 수 있다. 스파크는 머신러닝(MLlib), 대화형 질의를 위한 SQL(스파크 SQL), 실시간 데이터 처리를 위한 스트리밍 처리(스파크 스트리밍), 그래프 처리(GraphX) 등을 위해 쉽게 사용 가능한 API들로 이루어진 라이브러리를 갖고 있다. 스파크의 네 가지 핵심 특성 - 속도 - 스파크는 질의 연산을 방향성 비순환 그래프(DAG)로 구성되며, 이 DAG의 스케줄러와 질의 최적화 모듈은 효율적인 연산 그래프를 만들어서 각각의 태스크로 분해하여 클러스터의 워커 노드 위에서 병렬 수행될 수 있도록 해 준다.. 2023. 6. 28.