从 google 云存储中的文件中读取前几行
Reading first few lines from files in google cloud storage
在处理大文件 ~100GB 文件大小时,有时我们需要检查 first/last 几行(header 和结尾行)。
最简单的方法是使用
在本地下载整个文件
gsutil cp gs://bucket_name/file_name .
然后使用 head/tail 命令检查 header/trailer 行,这是不可行的,因为从云中提取数据会耗费时间和相关成本。
和执行一样-
gsutil cat gs://bucket_name/file_name | head -1
另一种选择是在 GCP 表中创建外部 table 或在 datastudio 中可视化它们或从 dataproc 中读取 cluster/VM。
有没有其他快速选项可以检查来自云存储的 header/trailer 行?
gsutil cat -r
这里是关键
它只输出指定字节范围的对象。偏移量从 0 开始。
例如。
从文件的第 10 到第 100 个位置到 return 个字节:
gsutil cat -r 10-100 gs://bucket_name/file_name
到 return 个字节,从第 100 个到文件末尾:
gustil cat -r 100- gs://bucket_name/file_name
到 return 文件的最后 10 个字节:
gsutil cat -r -10 gs://bucket_name/file_name
在处理大文件 ~100GB 文件大小时,有时我们需要检查 first/last 几行(header 和结尾行)。
最简单的方法是使用
在本地下载整个文件gsutil cp gs://bucket_name/file_name .
然后使用 head/tail 命令检查 header/trailer 行,这是不可行的,因为从云中提取数据会耗费时间和相关成本。
和执行一样-
gsutil cat gs://bucket_name/file_name | head -1
另一种选择是在 GCP 表中创建外部 table 或在 datastudio 中可视化它们或从 dataproc 中读取 cluster/VM。
有没有其他快速选项可以检查来自云存储的 header/trailer 行?
gsutil cat -r
这里是关键
它只输出指定字节范围的对象。偏移量从 0 开始。
例如。 从文件的第 10 到第 100 个位置到 return 个字节:
gsutil cat -r 10-100 gs://bucket_name/file_name
到 return 个字节,从第 100 个到文件末尾:
gustil cat -r 100- gs://bucket_name/file_name
到 return 文件的最后 10 个字节:
gsutil cat -r -10 gs://bucket_name/file_name