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"
私は以下を使用してほぼ同じ結果を得ることができますsort
:
cat animals.txt | sort -t " " -k1,1 -k2,2nr
そして、私はいつでもそこから立ち寄ることができますが、SQLのような言語が問題を非常にきれいに解決するように見えるとき、awk
これはすべて少し厄介な感じがします(抵抗できませんでした)。awk
入力データに基づいてテーブルを自動的に作成するSQLiteのラッパーを作成することを検討し、シングルプロセッサモードでHiveを使用することを検討しましたが、この問題は以前に解決されたと感じざるを得ません。私は何かが足りないのですか?この機能はすでに別の標準ツールによって実装されていますか?
やめろ!