用于平面文件的简单,快速的SQL查询

前端之家收集整理的这篇文章主要介绍了用于平面文件的简单,快速的SQL查询前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有人知道使用类似sql的声明式查询语言提供简单,快速的平面文件查询的工具?因为输入数据通常在查询运行后立即被丢弃,所以我宁愿不支付将文件加载到DB中的开销.

考虑数据文件“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"

我可以使用排序得到几乎相同的结果:

cat animals.txt | sort -t " " -k1,1 -k2,2nr

而且我总是可以从那里掉入awk,但是当一个类似sql的语言似乎能够如此干净地解决问题时,这一切都有点尴尬(不能抵制).

我已经考虑编写一个sqlite的包装器,它将根据输入数据自动创建一个表,我已经在单处理器模式下研究了使用Hive,但我不禁感到这个问题已经解决了.我错过了什么吗?这个功能是否已经由另一个标准工具实现?

HALP!

解决方法

我写的 TxtSushi主要是在平面文件上做sql选择.这是您的示例的命令链(所有这些命令来自TxtSushi):
tabtocsv animals.txt | namecolumns - | tssql -table animals - \
'select col1,max(as_int(col2)) from animals group by col1'

只需要namecolumns,因为animals.txt没有标题行.您可以通过查看example scripts快速了解可能的内容.还有主页底部的类似工具的链接.

猜你在找的MsSQL相关文章