2016-12-16 160 views
2

aws S3を使ってS3ファイルにgrepを実行する方法を知っていますか? 例えば、私は多くの行でFILE1.csv、FILE2.csvを持っていると文字列JZZを含む行を探したいS3に格納されたファイルにgrepする方法

aws s3 ls --recursive s3://mybucket/loaded/*.csv.gz | grep ‘JZZ’ 

答えて

7

aws s3 cpコマンドはstdoutに出力を送信することができます

aws s3 cp s3://mybucket/foo.csv - | grep 'JZZ' 

ダッシュ(-)は出力をstdoutに送信するコマンドに信号を送ります。

参照:How to use AWS S3 CLI to dump files to stdout in BASH?

2

また、あなたがAWS内で直接実行することができますGLUE /アテナコンボを使用することができます。 データ量によっては、クエリのコストが大幅に増加し、時間がかかることがあります。

は基本的に

  • enter image description here
  • は、データベース(csvdumpdb)に対するあなたのS3のデータディレクトリへのクローラを作成し署名欄読み込みGLUE分類器を作成する - それは、すべての全体のすべての行を持つテーブルを作成します。 csvsが見つかりました
  • 選択 "$パス"、ラインLIKE '%いくつか%空想%文字列%'

  • とは

    $パスラインのようなものを取得し、そこからライン

    S3:// mybucket/MYDIR/my.csv「私はいくつかを見つけたいくつかの、はい、 『空想、はい、文字列』

は、任意の外部のインフラストラクチャを実行する必要がなくなります。

関連する問題