Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php读取和绘制大型数据集_Php_Web_Plot - Fatal编程技术网

php读取和绘制大型数据集

php读取和绘制大型数据集,php,web,plot,Php,Web,Plot,我有一个ascii文件中一年5秒的数据 每一行都是一个阅读。。。 时间戳、值 600万行 我想在一个图表或web浏览器中的多个图表中显示此数据 我考虑了三种图表的选择 1-最大时的最后500个数据点(5秒分辨率) 2-15分钟分辨率下的最后500点 3-各种分辨率下的所有数据 等 警惕a)读取文件的时间b)处理时间c)将数据下载到浏览器进行javascript打印的数量和时间 php可以直接读取文件吗 更重要的是,这些大数据集绘图问题一定很常见,人们怎么解决呢?是的,PHP可以在文件系统上运行。

我有一个ascii文件中一年5秒的数据

每一行都是一个阅读。。。 时间戳、值

600万行

我想在一个图表或web浏览器中的多个图表中显示此数据

我考虑了三种图表的选择

1-最大时的最后500个数据点(5秒分辨率) 2-15分钟分辨率下的最后500点 3-各种分辨率下的所有数据 等 警惕a)读取文件的时间b)处理时间c)将数据下载到浏览器进行javascript打印的数量和时间

php可以直接读取文件吗

更重要的是,这些大数据集绘图问题一定很常见,人们怎么解决呢?

是的,PHP可以在文件系统上运行。使用PHP从文件中读取数据时,数据库可能非常有用

您希望对这些数据做些什么?例如,您真正想要的是什么?您是否在寻找峰值、平均值、大于平均值的值等

一般分析 也许答案是——我不知道;我想看看这些数据,看看会有什么结果。很公平。在这种情况下,您可以使用类似。显示最后1000条记录

要获取最后1000条记录,您可以使用诸如
top
head
(在Linux-y系统上)或Windows上的
powershell
等命令的组合来获取最后1000行,然后用PHP解析它们,将它们放入数组或对象中,并使用Javascript或PHP图表工具在屏幕上显示它们

当用户更改选择时,读取文件并显示相关记录。这可能会很费劲,因为文件是不断处理的

非PHP方法 一个更快的非PHP替代方案是使用内存中的商业智能工具,如(我认为,免费下载供个人使用)。学习曲线并不陡峭。。。我与QlikView没有任何关联。Tableau和Spotfire是其他易于使用的工具,可以使大型数据集的分析相对容易

具体分析 如果您感兴趣的是找出每月销售额在100万美元或以上的天数,那么您可以对该文件进行一次遍历,提取销售额大于等于1MM的所有行,并将其存储在日期和销售额数组中。通过数组并输出一个包含年、月、销售额的文件。这将是数据的预处理

然后,web应用程序或表示层可以提取这些数据,并以条形图或其他任何形式显示信息。可以使用诸如amcharts、d3、highcharts等Javascript图表库,也可以使用诸如jpGraph等PHP图表库动态读取并显示预处理的数据

如果必须从多个角度查看数据,如显示销售前10名产品的表格、订单数量与订单金额的散点图等,所有这些数据都可以放入数据库,然后在屏幕上显示。正如Mark Baker所评论的,适当的索引对于高效地提取数据是必要的

批量准备特定的数据集 美国的一些气候研究中心运行的程序在夜间翻阅数以百万计的记录,如你的记录,以创建图形、图表、地图等,然后使用web应用程序显示它们。例如,定期这样做。您可以用PHP做类似的事情

数据库是我最喜欢的。我更喜欢篡改文本数据,消除我不想要的东西,并将客观问题推送到数据库中。然后,PHP可以利用dbs中的rollup、top n、group by等方法提取数据并将其显示在屏幕上——主要是通过web界面


如果您有关于工具集或与此问题相关的特定问题,请随时发表评论。如果您想到一个新问题,请随意添加一个新问题,以寻求不同的答案。

我怀疑大多数人使用索引数据库系统而不是平面文件:PHP可以在文件中查找字节偏移量,但不能在不循环和计数的情况下查找单个行