테이블 생성
host:port— 원격 Arrow Flight 서버의 주소입니다. 포트를 생략하면 기본 포트8815가 사용됩니다. String.dataset_name— Flight 서버의 데이터셋 식별자입니다(arrow_flight_request_descriptor_type설정에 따라 PATH 디스크립터로 사용되거나SELECT *쿼리에서 사용됩니다). String.username— 기본 HTTP 인증용 사용자 이름입니다. String.password— 기본 HTTP 인증용 비밀번호입니다. String.
username 및 password를 생략하면 인증을 사용하지 않습니다(Arrow Flight 서버가 인증 없이 접근하는 것을 허용하는 경우에만 작동합니다).
컬럼 목록은 선택 사항입니다. 생략하면 GetSchema를 통해 원격 Arrow Flight 서버에서 스키마를 추론합니다.
이름이 지정된 컬렉션
이 엔진은 연결 매개변수를 저장하기 위해 이름이 지정된 컬렉션을 지원합니다:설정
arrow_flight_request_descriptor_type— 데이터셋 이름을 Flight 서버로 전송하는 방식을 제어합니다. 가능한 값은path(기본값, PATH 디스크립터로 전송) 또는command(SELECT * FROM <dataset>를 포함한 CMD 디스크립터로 전송)입니다. SQL 명령을 기대하는 Flight 서버(예: Dremio)에는command를 사용하십시오.arrow_flight_request_timeout_sec— 단일 Arrow Flight 요청의 타임아웃(초)이며, 기본값은300입니다. 이 제한은 요청 전체에 적용됩니다. 즉,SELECT의 경우 첫 번째 레코드 배치를 기다리는 시간만이 아니라 전체 결과 스트림을 받는 시간까지 포함됩니다.0은 타임아웃을 두지 않음을 의미하며, 이 경우 Flight 서버가 요청을 수락한 뒤 응답하지 않으면 연결이 종료될 때까지 쿼리가 블로킹됩니다.
사용 예시
원격 Arrow Flight 서버에서 데이터 읽기:참고 사항
CREATE TABLE문에서 컬럼을 지정한 경우, Flight 서버가 반환하는 스키마와 일치해야 합니다.- 컬럼을 생략한 경우, 스키마는 원격 server에서 자동으로 추론됩니다.
- 읽기(
SELECT)와 쓰기(INSERT)를 모두 지원합니다. arrow_flight_request_descriptor_type설정은 데이터셋 이름을 PATH 디스크립터로 보낼지, 또는SELECT *쿼리를 감싸는 CMD 디스크립터로 보낼지를 제어합니다.