Apache Spark은 이제 Data 분석에 있어서 거의 표준으로 자리를 잡아가며, 수 많은 사람이 사용을 하고 있는 분산 처리 엔진이 되었다. Spark에는 Data Source API라는 것이 있어서, 외부 Data Platform과 연동을 할 수 있게 지원하고 있다.
Spark에서 Elasticsearch를 연동한다던가, Cassandra를 연동하는 것들이 모두 Data Source API를 이용하여 개발된 것이다. (물론 Parquet처럼 internal API를 이용하여 개발된 Data source 연동 방식도 있다.)
만약 아직 Spark에 연동되지 않는 BigData Platform이 있다면, 아래의 문서를 참고하여 Spark과 연동할 수 있다.
2017년 말에 이를 이용하여 D모 Platform과 연동을 했었는데, 이때 읽었던 자료들을 정리해본다.
혹 Apache Kudu를 사용해본 개발자가 있다면, Spark on Kudu 소스 코드를 참조하는 게 제일 좋은 방법 같다.
- Spark Data Source API. Extending Our Spark SQL Query Engine
- How to create a custom Spark SQL data source
- Apache Kudu on Spark
- Kudu API 사용 경험이 있다면 이걸 강추한다
- Exploring the Apache Spark™ DataSource API
- The Pushdown of Everything
- Filtering and Projection in Spark SQL External Data sources
본 카테고리의 추천 글
- Kafka Unit Test with EmbeddedKafka
- Spark Structured Streaming에서의 Unit Test
- spark memoryOverhead 설정에 대한 이해
- Spark 기능 확장하기
- Spark DataFrame vs Dataset (부제: typed API 사용하기)
- Spark UI 확장하기
- Custom Spark Stream Source 개발하기
- Spark에서 Kafka를 batch 방식으로 읽기
- SparkSession의 implicit에 대한 이해
- spark-submit의 –files로 upload한 파일 읽기
- Scala case class를 Spark의 StructType으로 변환하기
- Spark on Kubernetes 사용법 및 secure HDFS에 접근하기
- Spark의 Locality와 getPreferredLocations() Method
- Spark Streaming의 History