created: 2022-01-30T02:41:18.000Z

CloudStorage にある大きなCSVファイルのヘッダ行だけ読む

gsutil cat というサブコマンドがあり、指定したバイト数だけ読み出すことができる。

  • 先頭から20キロバイトくらい(1行以上読めるくらいの量)を読み出して
  • head -1 で先頭1行だけ取り出す
$ gsutil cat -r 0-20000 gs://mybucket/test/dest/_/tablename/2021/05.csv \
    | head -1 \
    | perl -pe 'tr/,"\r/\n/d' \
    > ./original/$tablename.txt

参考