跳到主要内容
版本:Next
input/sqlINPUTBUFFERPROCESSOROUTPUT

SQL

SQL 输入(Input)通过 DataFusion 执行 select_sql 查询,从数据库(MySQL、PostgreSQL、SQLite、DuckDB)或文件格式读取数据。Ballista 为可选项,用于分布式查询。

配置​

FieldTypeRequiredDefault描述
typestringyes—常量值 "sql"
select_sqlstringyes—SQL 查询语句
input_typeobjectyes—数据源类型及其配置(带标签的枚举),见下表
ballistaobjectno—分布式查询配置,见下表

ballista​

FieldTypeRequired描述
remote_urlstringyesBallista 服务器 URL

input_type​

input_type 是一个带标签的枚举(tagged enum,通过 type 字段区分)。各变体如下。

mysql / postgres​

FieldTypeRequired描述
typestringyes"mysql" 或 "postgres"
uristringyes数据库连接 URI
namestringno注册的表名(用于在查询中引用)
sslobjectyesSSL 配置,见下文

ssl:

FieldTypeRequired描述
ssl_modestringyesSSL 模式
root_certstringno根证书路径

duckdb / sqlite​

FieldTypeRequired描述
typestringyes"duckdb" 或 "sqlite"
pathstringyes数据库文件路径
namestringno注册的表名

示例​

input:
type: "sql"
select_sql: "SELECT * FROM flow"
input_type:
type: "mysql"
name: "my_mysql"
uri: "mysql://user:password@localhost:3306/db"
ssl:
ssl_mode: "verify_identity"
root_cert: "/path/to/cert.pem"
input:
type: "sql"
select_sql: "SELECT * FROM flow where id > 1000"
ballista:
remote_url: "df://localhost:50050"
input_type:
type: "sqlite"
path: "/path/to/data.db"