Apache DrillでLTSVを検索するためのプラグインを作ってみた

DrillはJSONCSV、TSVなどはデフォルトでサポートしているのですが残念ながらLTSVはサポートしていません。もちろんLTSVはシンプルなのでJSONなどへの変換も容易なのですが、S3にバックアップしたLTSV形式のログを直接Drillから検索できると便利かなと思って作ってみました。

github.com

使い方ですが、リリースページからダウンロードしたdrill-ltsv-plugin-バージョン.jarDRILL_HOME/jars/3rdpartyに配置し、ストレージプラグインに以下のような感じでフォーマットの設定を追加します。

  "formats": {
    "ltsv": {
      "type": "ltsv",
      "extensions": [
        "ltsv"
      ]
    },
    ...
  }

するとDrillから*.ltsvファイルに対してSQLで検索できるようになります。

f:id:takezoe:20160607115753p:plain

動作は最新のDrill 1.6.0で確認しています。

さほど大量のログに対して実行したわけではないのでどの程度の性能が出るのかよくわかりませんが、とりあえずS3に放り込んでおいたログをアドホックに検索できるのでシビアな用途でなければまあまあ便利に使えるのではないかと思います。