BigData/Spark

Apache Spark 3.0

Jonghee Jeon 2020. 3. 6. 00:19

Apache Spark 3.0.0 preview2 버전이 2019년 12월 23일에 릴리즈 되었다.

향후 버전의 기능을 미리 알아 볼 수 있으며, 곧 정식으로 Spark 3.0이 나올 것으로 기대된다.


몇가지 달라지거나 추가되는 기능에 대해서 알아봅시다.

 

언어

 - Spark 3.0은 Python3를 공식 지원하고, Python 2.x 버전은 더이상 지원되지 않는다. Scala버전은 2.12로 향상되었으며, 또한 JDK 11을 지원하게 된다.

 

SQL 최적화

 - DDP(Dynamic Partition Pruning)을 도입하였으며, 논리 계획과 물리 계획에 모두 적용된다. 속도 향상

databricks

GPU 지원

 - 기존의 Spark MLlib, Spark ML은 딥러닝에 대한 기능이나 알고리즘을 지원하지 않았다. TensorflowOnSpark, BigDL, MMLSpark 등의 딥러닝 알고리즘을 제공하는 프로젝트들과 연동하여 사용은 할 수 있었지만, 나름 불편함과 제약이 존재하기는 마련이었다. 

 - Spark 3.0에서는 Nvidia, AMD, Intel과 같은 GPU에 대한 지원을 제공하여, 딥러닝에 대한 기능을 추가하고자 한 흔적이 보입니다.

 

Kuberbetes 통합

 - 기존 Spark 2.x에서도 제공되기는 하였지만, Spark 3.0에서는 Spark on Kuberbetes을 위한 셔플 서비스를 제공하여 동적인 관리가 가능하도록 지원합니다.

Graph 처리

 - 기존 Spark에서는 Graph처리를 위한 기능이 있었지만, Spark 3.0에서는 SparkGraph라는 새로운 모듈이 추가되었다. 이 기능에는 Neo4J에서 개발한 Cypher 쿼리 언어로 처리되는 그래프 모델 및 알고리즘이 제공된다.

 

Delta Lake

 - 델타 레이크는 스키마 강제, 메타데이터 관리 같은 기능을 제공하는 스파크용 오픈소스 스토리지 계층으로, ACID 트랜잭션과 기타 데이터 관리 기능을 머신러닝 및 기타 빅데이터 작업에 제공한다.

자세한 내용 - http://www.itworld.co.kr/print/121628

 

델타 레이크 프로젝트, 아파치 스파크에 ACID 트랜잭션 추가

아파치 스파크의 원 개발자가 설립한 데이터브릭(DataBricks)이 새로운 프로젝트 델타 레이크(Delta Lake)를 발표했다. 델타 레이크는 스파크용 오픈소스 스토리지 계층으로, ACID 트랜잭션과 기타 데이터 관리 기능을 머신러닝 및 기타 빅데이터 작업에 제공한다.  ⓒGettyImagesBank많은 종류의 데이터 작업이 ACID 트랜잭션이나 일관성을 위한 스키마 강제, 보안용 메타데이터 관리 등의 기능을 필요로 하며

www.itworld.co.kr

Apache Arrow와의 통합

 - Spark 3.0에서 효율적인 빅데이터 처리 분석 작업을 위해 Apache Arrow 데이터 형식과 통합 제공한다.

 - Apache Arrow는 인-메모리 데이터를 위한 이기종 언어간의 개발 플랫폼이다. 

https://arrow.apache.org/

 

Apache Arrow

Apache Arrow is a cross-language development platform for in-memory data. It specifies a standardized language-independent columnar memory format for flat and hierarchical data, organized for efficient analytic operations on modern hardware. It also provid

arrow.apache.org

 


참고 - https://medium.com/cloudzone/apache-spark-3-0-review-what-the-spark-is-all-about-998844e12b3c