5. RHEEM INTERFACES

Rheem은 개발자가 애플리케이션을 구축할 수 있도록 일련의 네이티브 API를 제공한다. 여기에는 Java, Scala, Python, REST등이 포함된다. 이러한 API 사용 예는 Rheem repository6에서 확인할 수 있다. 코드 개발자가 작성해야하는 코드는 기본 플랫폼에 완전히 독립적이다. 그러나 사용자가 특정 플랫폼에서 Rheem에게 특정 플랫폼에서 주어진 연산자를 강제로 실행하기를 원할 경우 withTargetPlatform 메서드를 호출할 수 있다.

 

마찬가지로, 시스템이 customOperator 메서드를 통해 특정 실행 연산자를 사용하도록 강제할 수 있으며, 이는 사용자들이 API를 확장하지 않고도 사용자 지정 연산자를 사용할 수 있게 해준다. 네이티브 API는 개발자들 사이에 꽤 인기가 많지만, 많은 사용자들이 이러한 API를 사용하는데 능숙하지 못하다.

 

따라서 Rheem은 전문가가 아닌 사용자를 대상으로 하는 두가지 API, 즉 데이터 흐름 언어(RheemLatin)와 시각적 IDE(Rheem Studio)도 제공한다. 그림 4의 SGD 예제를 이용하여 이러한 인터페이스들을 설명한다. 그러나 설명의 편의성을 위해 이 두 인터페이스의 세부사항으로 들어가기 전에 먼저 네이티브 API중 하나를 이용하여 SGD를 구현하는 방법을 보여준다. 이 모든 API의 두드러진 특징은 모든 플랫폼에 독립적이라는 것이다. Rheem은 각 연산자를 실행할 플랫폼을 결정한다.

 

+ Recent posts