搜索快捷键 cmd + k | ctrl + k
hostfs

使用 SQL 导航和探索文件系统

维护者:Gropaul

安装和加载

INSTALL hostfs FROM community;
LOAD hostfs;

示例

-- Navigate to the workspace and list the files
D PRAGMA cd('/Users/paul/workspace');
D PRAGMA ls;
┌───────────────────────────────┐
             path              
            varchar            
├───────────────────────────────┤
 ./duckdb                      
 ./playground                  
 ./hostfs                      
-- Find the files you were working on last
D SELECT path, file_last_modified(path) AS date FROM ls() WHERE 'csv' IN file_extension(path) ORDER BY date LIMIT 1 ;
┌───────────────────────────┬─────────────────────┐
           path                    date         
          varchar                timestamp      
├───────────────────────────┼─────────────────────┤
 ./sketch_results_join.csv  2024-07-13 23:25:48 
└───────────────────────────┴─────────────────────┘
-- List the top 3 file types by total size, with file count, ordered by size.
D SELECT size, count, file_extension AS "type"
FROM (
SELECT SUM(file_size(path)) AS size_raw, format_bytes(size_raw) AS size, COUNT(*) AS count, file_extension(path) AS file_extension
FROM lsr('/Users/paul/workspace', 10)
GROUP BY file_extension(path)
) AS subquery
ORDER BY size_raw DESC LIMIT 3;
┌───────────┬───────┬─────────┐
   size     count   type   
  varchar   int64  varchar 
├───────────┼───────┼─────────┤
 246.95 GB     29  .duckdb 
 90.33 GB    3776  .tmp    
 26.17 GB   28175  .csv    
└───────────┴───────┴─────────┘

关于 hostfs

HostFS 扩展允许您使用 SQL 导航和探索文件系统。它提供了一组函数,用于列出文件、获取文件元数据等。更多信息请参见HostFS 文档

新增函数

函数名 函数类型 描述 注释 示例
absolute_path 标量 NULL NULL  
cd pragma NULL NULL  
cd table NULL NULL  
file_extension 标量 NULL NULL  
file_last_modified 标量 NULL NULL  
文件名 标量 NULL NULL  
file_size 标量 NULL NULL  
hostfs 标量 NULL NULL  
hsize 标量 NULL NULL  
is_dir 标量 NULL NULL  
is_file 标量 NULL NULL  
ls pragma NULL NULL  
ls table NULL NULL  
lsr pragma NULL NULL  
lsr table NULL NULL  
path_exists 标量 NULL NULL  
path_type 标量 NULL NULL  
pwd pragma NULL NULL  
pwd 标量 NULL NULL