我目前正在研究NASDAQ数据解析并将其插入到Influx数据库中。我已经处理了所有数据插入规则(转义特殊字符并根据<measurement>[,<tag-key>=<tag-value>...] <field-key>=<field-value>[,<field2-key>=<field2-value>...] [unix-nano-timestamp]
的格式组织它们)。
以下是我的数据示例:
apatel17@*****:~/output$ head S051018-v50-U.csv
# DDL
CREATE DATABASE NASDAQData
# DML
# CONTEXT-DATABASE:NASDAQData
U,StockLoc=6445,OrigOrderRef=22159,NewOrderRef=46667 TrackingNum=0,Shares=200,Price=73.7000 1525942800343419608
U,StockLoc=6445,OrigOrderRef=20491,NewOrderRef=46671 TrackingNum=0,Shares=200,Price=73.7800 1525942800344047668
U,StockLoc=952,OrigOrderRef=65253,NewOrderRef=75009 TrackingNum=0,Shares=400,Price=45.8200 1525942800792553625
U,StockLoc=7092,OrigOrderRef=51344,NewOrderRef=80292 TrackingNum=0,Shares=100,Price=38.2500 1525942803130310652
U,StockLoc=7092,OrigOrderRef=80292,NewOrderRef=80300 TrackingNum=0,Shares=100,Price=38.1600 1525942803130395217
U,StockLoc=7092,OrigOrderRef=82000,NewOrderRef=82004 TrackingNum=0,Shares=300,Price=37.1900 1525942803232492698
我还创建了一个数据库:NASDAQData
(在Influx内部)。
我面临的问题是:
该文件大约有1300万行(准确的是12861906906行)。我正在尝试使用CLI导入命令插入以下数据:
influx -import -path=S051118-v50-U.csv -precision=ns -database=NASDAQData
在开始出现插入错误之前,我通常最多获得5,000,000行。我已经多次运行了此代码,有时我也收到3,000,000行的错误。为了弄清楚这个错误,我在文件的一部分上运行了相同的代码。我将数据分别分为500,000行,并且代码成功地针对所有较小的文件运行。 (所有26个文件,共500,000行)
这是否发生在其他人身上,或者某个人知道此问题的解决方法,其中一个巨大的文件在数据插入过程中显示错误,但是如果分解并使用较小的数据大小,则导入效果很好。
感谢您的帮助。谢谢
答案 0 :(得分:1)
根据influx
文档的建议,可能需要将您的数据文件拆分为几个较小的文件,因为5秒钟后,用于发布写操作的http
请求可能timeout
。 / p>
如果您的数据文件具有5,000点以上,则可能有必要 将该文件拆分为几个文件,以便将数据写入 批处理到InfluxDB。我们建议分5,000个写作要点 达到10,000点批量较小,HTTP请求更多 表现欠佳。默认情况下,HTTP请求超时 五秒钟后。 InfluxDB仍将尝试写入要点 超时之后,将无法确认他们是否 成功编写。
或者,您可以使用pps
选项设置每秒写多少点的限制。这样可以减轻您influxdb
的压力。
请参阅: https://docs.influxdata.com/influxdb/v1.7/tools/shell/#import-data-from-a-file-with-import