카우치베이스 서버

카우치베이스용 제플린 인터프리터 만들기

저는 최근에 제플린을 사용하기 시작했습니다. 실시간 분석이 가능한 훌륭한 웹 기반 노트북입니다. 다음과 같은 개념을 통해 다양한 백엔드를 지원합니다. 통역사.

제플린 인터프리터는 제플린 사용자가 특정 언어/데이터 처리 백엔드를 사용할 수 있게 해주는 플러그인입니다. 예를 들어 제플린에서 스칼라 코드를 사용하려면 스파크 인터프리터가 필요합니다.

이미 Spark 인터프리터를 사용하여 일부 Couchbase 관련 작업을 수행할 수 있습니다. 카우치베이스 스파크 커넥터. 하지만 Spark SQL 및 DataFrames와 같이 패드에서 일부 N1QL 쿼리를 실행하고 싶습니다. 그래서 Couchbase N1QL 인터프리터를 만들어야 합니다. 그렇게 하는 것은 쉽고 문서화클래스 하나만 있으면 됩니다.

이 클래스는 추상 클래스를 확장해야 합니다. org.apache.zeppelin.interpreter.Interpreter 를 사용하여 다음과 같은 추상 메서드를 구현해야 합니다: 열기, 닫기, 해석, getFormType, getProgress, 완료.

제가 여기서 한 일과 거의 비슷합니다:

열기 그리고 닫기 는 각각 클러스터와 버킷에 대한 연결을 열고 닫는 역할을 담당합니다. 해석 방법은 패드를 실행하는 것입니다. 이것은 패드의 텍스트를 원하는 대로 변환하는 곳입니다. 이 인터프리터에서는 N1QL 쿼리를 가져와서 실행하고 결과를 변환하여 Zeppelin에서 사용할 수 있도록 하겠습니다. 여기서 변환이란 모든 것이 테이블 형식이어야 하므로 결과 JSON 문서를 평평하게 만드는 것을 의미합니다.

이제 원하는 모든 N1QL 쿼리를 실행할 수 있습니다. 다음은 게임 샘플 버킷에서 가져온 간단한 예제입니다:

왼쪽 하단에는 리더 보드가, 왼쪽 상단에는 레벨별로 정렬된 플레이어 목록이, 플레이어별 아이템 분포도 역시 레벨별로 정렬된 것을 볼 수 있습니다. 플레이어 레벨과 플레이어가 보유한 아이템 수 사이에는 상관 관계가 없음을 알 수 있습니다. 기본 쿼리는 N1QL에서 기본적으로 사용할 수 있는 JOIN을 사용하고 있습니다.

이제 추가할 수 있는 다른 기능들이 많이 있습니다. 제플린하면 가장 먼저 떠오르는 것이 자동 완성 기능일 것입니다. N1QL 키워드나 json 필드 등 다양한 상황에서 유용하게 사용할 수 있습니다. 실제로 이 기능은 쿼리 UI 에 들어가면 키 또는 Ctrl+Space. 다른 좋은 기능으로는 특히 지리공간 쿼리를 위한 뷰와 Couchbase FTS를 지원하는 것이 있습니다. 플러그인 개발을 시작한 것은 Github에서 팔로우할 수 있으며, Apache 이슈 추적기. 평소와 마찬가지로 피드백과 기여를 환영합니다!

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 로랑 도귄

Laurent는 파리에 사는 괴짜 금속공학도입니다. 주로 Java로 코드를 작성하고 AsciiDoc으로 구조화된 텍스트를 작성하며 데이터, 리액티브 프로그래밍 및 기타 유행어에 대해 자주 이야기합니다. 또한 Clever Cloud와 Nuxeo의 개발자 옹호자로 활동하며 해당 커뮤니티가 더 크고 강력하게 성장할 수 있도록 자신의 시간과 전문성을 바쳤습니다. 현재 Couchbase에서 개발자 관계를 운영하고 있습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.