You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何创建Trino连接器查询CSV格式平面文件?

解决Trino查询本地平面文件(CSV)的方案

方案一:通过Hive连接器映射本地CSV

这是最通用的落地方案,借助Hive外部表能力挂载本地文件:

  1. 配置Hive连接器
    在Trino的etc/catalog目录下新建hive.properties文件,内容示例:

    connector.name=hive-hadoop2
    hive.metastore.uri=thrift://localhost:9083
    hive.config.resources=/etc/hadoop/conf/core-site.xml
    

    需确保Hadoop的core-site.xml中配置本地文件系统:<property><name>fs.defaultFS</name><value>file:///</value></property>

  2. 在Hive中创建外部表
    连接Hive执行SQL,定义匹配CSV结构的外部表:

    CREATE EXTERNAL TABLE csv_data (
        id INT,
        name STRING,
        score DOUBLE
    )
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ','
    LINES TERMINATED BY '\n'
    STORED AS TEXTFILE
    LOCATION 'file:///opt/data/csv_files'
    TBLPROPERTIES ("skip.header.line.count"="1"); -- CSV首行是列名时添加
    
  3. 在Trino中查询
    直接在Trino客户端执行SELECT * FROM hive.default.csv_data;即可读取数据。

方案二:使用Trino CSV连接器(Trino 350+版本支持)

如果你的Trino版本足够新,可直接用官方原生CSV连接器:

  1. 配置CSV连接器
    在etc/catalog目录下新建csv.properties文件:

    connector.name=csv
    csv.directory=/opt/data/csv_files
    csv.skip-header-line-count=1 -- 可选,用于跳过首行列名
    
  2. 直接查询
    Trino会自动将目录下的CSV文件识别为表(文件名即为表名),比如文件名为my_data.csv,直接执行SELECT * FROM csv.default.my_data;即可。

注意事项

  • 确保Trino进程对目标文件目录拥有读权限
  • 若为Trino集群,本地文件需在所有节点的相同路径下,或通过NFS等共享存储统一挂载
  • 若CSV存在特殊格式(如引号包裹字段、自定义分隔符),需在表定义或连接器配置中对应调整参数

内容的提问来源于stack exchange,提问作者Gopi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 21:13:11