【问题标题】:Count rows in massive .csv file计算大量 .csv 文件中的行数
【发布时间】:2017-11-04 05:07:39
【问题描述】:

按部分转储 Postgres 表会产生 30GB 以上大小的部分。这些文件登陆 Windows 2008 服务器。我正在尝试计算 csv 中的行数,以确保我有我期望的行数(准确地说是 22,725,303)。我可以计算我希望转储的部分中的行 - 但我不确定我是否得到了所有这些。

这是一个 190M 行的表格,所以表格的部分是要走的路。

那么我如何计算行数以便知道我有完整的部分?

【问题讨论】:

  • 将 .csv 文件复制到 unix 机器上并在其上运行 wc -l thefile.csv
  • 是的,我不想在网络上移动 300GB。这很繁重。
  • 也许 cygwin 包含文件实用程序? [或者,您可以从 ubuntu-usb-stick 启动,尝试挂载您的(ntfs?)磁盘,然后运行 ​​wc -l] ...或者您可以编写一个只计算 '\n' s 的小程序。

标签: postgresql csv rowcount


【解决方案1】:

在 PL/pgSQL 函数中,您可以获得最后一个命令处理的行数 - 从 Postgres 9.3 开始,包括 COPY - 使用:

GET DIAGNOSTICS x = ROW_COUNT;

【讨论】:

  • 好电话 - 遗憾的是,基于 Postgres 8.3 的 Greenplum 可能不会这样做。我试试看。
  • @MatthewCoblentz:您可能在问题中提到它是关于Greenplum,它不是 Postgres。我怀疑我的答案是否适用于 Greenplum。
猜你喜欢
  • 2012-09-24
  • 2010-10-19
  • 2012-11-20
  • 2014-04-09
  • 2011-06-07
  • 1970-01-01
  • 2011-10-14
  • 2012-12-30
  • 1970-01-01
相关资源
最近更新 更多