Presto本地部署后通过local file connector查询poc.csv文件方法咨询
Local File Connector文件识别逻辑
Local File Connector识别文件的逻辑非常简单:你在catalog配置文件中指定的presto-logs.location路径,就是logs schema的根目录,connector会自动扫描该目录下的所有文件,将文件名去掉后缀后作为表名映射到logs schema下,出于安全限制,仅允许访问该根目录内的文件。
访问poc.csv的操作步骤
放置文件
将poc.csv放到你localfile.properties中配置的presto-logs.location对应的目录下,同时保证Presto服务的运行用户对该文件有可读权限。验证表识别结果
在Presto cli执行如下命令,确认文件已经被识别为表:
SHOW TABLES IN localfile.logs;
正常返回结果中会包含名为poc的表。
- 执行查询
根据你的csv文件是否包含表头选择对应查询方式:
- 如果
poc.csv第一行是name,employeeId表头:
SELECT * FROM TABLE( localfile.system.read_csv( path => 'logs/poc.csv', separator => ',', header => true ) );
- 如果
poc.csv没有表头,直接存储数据行:
SELECT column0 AS name, column1 AS employeeId FROM localfile.logs.poc;
常见异常排查
如果查询报错找不到文件或者无权限,优先核对以下项:
- 文件未超出
presto-logs.location根目录范围 - Linux环境下文件名大小写与
poc.csv完全匹配 - Presto服务运行用户对
poc.csv有可读权限
内容的提问来源于stack exchange,提问作者Gee162016
相关产品推荐
相关产品推荐

