2017-10-17 1 views
0

안녕하세요, 프로토 타입을 드릴에 대한 몇 가지 실험을하고 있어요 및 "포함 된"모드로 확인 작동합니다. 순간 우리는 drill-jdbc-all에 대한 받는다는 의존하고있는 JDBC를 사용자바 API로 아파치 드릴 프로세스를 시작 하시겠습니까?

Class.forName("org.apache.drill.jdbc.Driver") 
val conn = DriverManager.getConnection("jdbc:drill:drillbit=localhost:31010") 
[...] 

내가 콘솔에서 그것을 실행의 필요없이 직접 자바 API를 사용하여 드릴 인스턴스를 시작하는 방법이 있는지 궁금? jdbc:drill:zk=local 연결 URL을 사용해 보았지만, 사육사가있는 로컬 노드를 시작할 수있는 방법을 찾을 수 없습니다. 나는 github에서 검색했지만 행운이 없습니다. 완전히 프로그래밍이 예는 드릴 단위 테스트에서 볼 수있는 하나의 노드에서 드릴을 실행하려면 어떤 제안

+0

Zookeeper 쿼럼을 통한 jdbc 연결을 원하거나 Java를 사용하여 실제 drillbit 프로세스 (org.apache.drill.exec.server.Drillbit)를 시작 하시겠습니까? java api를 통해 drillbit 프로세스를 시작할 API가 있는지 확실하지 않습니다. 한 가지 방법은 JSch와 같은 원격 ssh 실행 라이브러리를 사용하여 필요한 인수로 drillbit.sh 스크립트를 호출하는 것입니다. – InfamousCoconut

+0

현재 커맨드 라인을 통해 임베디드 드릴을 시작하고 Java (실제로 Scala) 프로그램에서 JDBC를 통해 연결하면 작동합니다. 명령 줄이 sqline 버전이라는 것을 알고있는 한, 드릴 비트 인스턴스를 초기화하고 작업한다고 가정합니다. Java에서이 작업을 수행해야합니다. 아이디어는 외부 서비스를 피하기 위해 임베디드 라이브러리를 사용하려고하기 때문에 지금 당장 사육사를 피하려고 노력하고 있습니다.하지만 임베디드 사육사를 시작하는 방법이 있다면 저 또한 좋습니다. –

답변

1

에 미리

감사합니다. 특히 단위 테스트에서는 프로그래밍 방식으로 드릴을 실행하려면 ClusterFixture 클래스를 사용합니다. ClusterFixture를 사용하여 드릴을 시작하는 방법에 대한 예제는 fifthTestExampleTest으로 참조하십시오. 참고이 코드는 모두 Drill 프로젝트의 테스트 부분에 있으므로이 코드 (및 테스트 패키지에 종속 된 다른 모든 클래스)를 프로젝트에 복사해야합니다. 이 책에 관심이 있으시면 Drill 메일 링리스트에 의견을 올려주십시오. Drill 메일 링리스트 가입에 대한 정보는 here입니다.

+0

안녕하세요, 대단히 감사합니다. 테스트 케이스를 찾고 있었지만 특정 케이스를 찾지 못했습니다! 잠시 동안이 실험을 일시 중지해야했지만 가능한 한 빨리 제안을 다시 시작하겠습니다! 다시 한 번 감사드립니다. –

관련 문제