テーブルの作成
host:port— リモート Arrow Flight サーバー のアドレス。ポートが省略された場合は、デフォルトのポート8815が使用されます。String。dataset_name— Flight server 上のデータセットの識別子 (arrow_flight_request_descriptor_type設定に応じて、PATH ディスクリプタとして、またはSELECT *クエリで使用されます) 。String。username— HTTP Basic 認証で使用するユーザー名。String。password— HTTP Basic 認証で使用するパスワード。String。
username と password が省略された場合、認証は使用されません (これは Arrow Flight サーバー 側で認証なしのアクセスが許可されている場合にのみ機能します) 。
カラム一覧は省略可能です — 省略した場合、スキーマは GetSchema を介してリモート Arrow Flight サーバー から推論されます。
名前付きコレクション
このエンジンは、接続パラメータを保存するための名前付きコレクションに対応しています。設定
arrow_flight_request_descriptor_type— データセット名を Flight server にどの形式で送信するかを制御します。設定可能な値:path(デフォルト。PATH ディスクリプタとして送信) またはcommand(SELECT * FROM <dataset>を含む CMD ディスクリプタとして送信) 。SQL コマンドを受け取る Flight server (例: Dremio) の場合は、commandを使用してください。arrow_flight_request_timeout_sec— 1 回の Arrow Flight リクエストに対するタイムアウト (秒) です。デフォルトは300です。このタイムアウトはリクエスト全体に適用されます。つまりSELECTの場合は、最初のレコードバッチを受け取るまでの待機時間だけでなく、結果ストリーム全体が対象になります。0を指定するとタイムアウトは無効になります。この場合、Flight server がリクエストを受け付けたまま応答しないと、接続が閉じられるまでクエリはブロックされたままになります。
使用例
リモートの Arrow Flight サーバーからのデータの読み取り:注記
CREATE TABLEステートメントでカラムを指定する場合は、Flight server が返すスキーマと一致している必要があります。- カラムを省略した場合、スキーマはリモートサーバーから自動的に推論されます。
- 読み取り (
SELECT) と書き込み (INSERT) の両方をサポートしています。 arrow_flight_request_descriptor_type設定では、データセット名を PATH ディスクリプタとして送信するか、SELECT *クエリをラップした CMD ディスクリプタとして送信するかを制御します。