有谁知道使用类似 SQL 的声明性查询语言提供简单、快速的平面文件查询的工具?我宁愿不支付将文件加载到数据库中的开销,因为输入数据通常在查询运行后几乎立即被丢弃。
考虑数据文件“animals.txt”:
dog 15
cat 20
dog 10
cat 30
dog 5
cat 40
假设我想为每个独特的动物提取最高值。我想写一些类似的东西:
cat animals.txt | foo "select $1, max(convert($2 using decimal)) group by $1"
我可以使用以下方法获得几乎相同的结果sort
:
cat animals.txt | sort -t " " -k1,1 -k2,2nr
而且我总是可以awk
从那里进入,但是当一种类似 SQL 的语言似乎可以如此干净地解决问题时,这一切都让人感觉有点awk
不舒服(无法抗拒)。
我考虑过为 SQLite 编写一个包装器,它会根据输入数据自动创建一个表,并且我研究过在单处理器模式下使用 Hive,但我不禁觉得这个问题之前已经解决了。我错过了什么吗?此功能是否已由另一个标准工具实现?
哈!