두 번째 개발자 프리뷰를 진행한 지 정확히 두 달이 지난 지금, Couchbase Spark Connector의 첫 번째(그리고 유일한) 베타 버전을 출시하게 되어 기쁘게 생각합니다. 이는 중요한 진전으로, 다음과 같은 기능을 제공합니다. Spark 1.4 지원은 물론 공식 문서와 여러 가지 작은 개선 사항이 추가되었습니다. 특히
- Spark 1.4 지원
- 점검된 Spark SQL 데이터 프레임 지원
- Java API
- 저장소모드()는 저장소모드를 지원합니다.
Couchbase Maven 리포지토리에서 바로 다운로드할 수 있습니다:
이제 문서가 공식적으로 제공됩니다. 여기!
Spark 1.4 지원
Spark 1.4가 1.0 GA 릴리스의 대상 Spark 버전으로 선택되었습니다. 그 결과, 모든 Spark 종속성이 변경되었습니다. 1.4 버전은 데이터프레임을 위한 새로운 API를 제공하므로, 커넥터도 이에 완벽하게 통합되도록 API를 수정했습니다.
데이터프레임 API는 기본 소스가 데이터프레임리더와 데이터프레임라이터를 통해 작동하도록 변경되었습니다. 그 외에는 이전 API와 매우 유사한 느낌입니다.
다음은 트래블 샘플 버킷에서 데이터를 읽는 방법에 대한 예제입니다:
카우치베이스에 데이터프레임을 작성할 수도 있습니다:
Java API
많은 사람들이 Java API를 통해 Spark를 사용하므로 당연히 이에 대한 지원도 제공하고자 합니다. 커넥터의 API 노출은 설계상 매우 작기 때문에 변환해야 하는 API는 많지 않습니다. Java API는 com.couchbase.spark.java 네임스페이스 아래에 있으며 다음과 같이 사용할 수 있습니다:
스토어 모드
이전에는 saveToCouchbase() 메서드가 데이터를 저장할 때 기본 업서트 메서드만 사용했습니다. 문서를 재정의하고 싶지 않은(또는 재정의만 하고 싶은) 시나리오가 있을 수 있으므로 더 많은 유연성이 필요합니다. 이것이 바로 다음 값을 지원하는 StoreMethod 열거형을 도입한 이유입니다:
- UPSERT: 존재하지 않으면 삽입하고 존재하면 재정의합니다.
- insert_and_fail: 삽입을 시도하고 존재할 경우 실패합니다.
- insert_and_ignore: 삽입을 시도하고 실패가 있을 경우 무시합니다.
- replace_and_fail: 대체를 시도하고 존재하지 않으면 실패합니다.
- replace_and_ignore: 존재하지 않는 경우 실패를 대체하고 무시합니다.
문서가 이미 존재하므로 다음과 같이 올바르게 실패합니다:
GA로 향하는 길
커넥터의 1.0.0 GA 릴리즈는 한 달 후에 예정되어 있으며, 버그를 수정하고 문서를 개선할 수 있는 여지를 남겨두고 있습니다. 멋진 GA 릴리스를 출시할 수 있도록 최대한 많은 도움을 주세요!