스트리밍 데이터 흐름 작업에서 변환 중 하나에서 bigtable에 액세스해야합니다. 내 지식에 따라 두 가지 방법이 있습니다.
1) DoFn의 startBundle 메서드에서 bigtable에 대한 연결을 생성하고 processElement 메서드에서 bigtable의 데이터에 액세스 할 수 있습니다.이 접근 방식에서 dataflow sdk는 새 요소가 스트림에 올 때마다 Bigtable에 대한 새 연결을 만듭니다.
2) 변환 obj 생성시 bigtable 연결을 생성하고 processElement 메서드에서 사용하지만 dataflow sdk는 obj를 생성하고 직렬화하고 작업자 노드에서 다시 생성하므로 연결이 여전히 작업자 노드에서 활성 상태입니까? 또는 스트리밍 모드에서 장기간 bigtable 연결을 열어 두는 것이 좋습니까?
아니면 이것을 달성하는 다른 효율적인 방법이 있습니까?
감사.
AbstractCloudBigtableTableDoFn 은 우리가 생각할 수있는 가장 최적의 방식으로 연결을 유지합니다. 이는 본질적으로 VM 당 싱글 톤입니다. 그것은이 getConnection()
당신이 액세스 할 수 있습니다 방법 Connection
관리 방법을.
FWIW, 클래스는 DataflowSDK가 아닌 bigtable-hbase-dataflow 프로젝트에 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다