问题标签 [spout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1573 浏览

php - 如何使用 PHP Spout 库设置 Excel 工作表标题

我正在使用 PHP Spout 库导出超过 1 张工作表的 Excel 工作簿。

如何为每张工作表设置标题?默认情况下,它提供 sheet1 sheet2 等。

我需要提供从 sheet2 单元格到 sheet1 单元格的超链接。如何使用 Spout 设置超链接?

0 投票
3 回答
1416 浏览

php - 将大型 Excel 文件插入数据库

我正在使用Spout读取超过 500.000 条记录的 Excel 文件(每列有 7 列,信息不多)。

问题是我的脚本超时了。我已经尝试上传这个限制并且它变得更好,但到目前为止我无法进行完整的插入,只有部分插入大约 50.000 行。

这不是我的选择。有什么方法可以拆分这个 Excel 文件,但在代码上?我看到的是即使文件没有插入数据库,操作文件也已经很慢并且超时。

所以……有什么建议吗?

谢谢!

0 投票
1 回答
180 浏览

php - 打开 'spout-2.4.3\spout-2.4.3\src\Spout\Autoloader\autoload.php' 失败

PHP 警告:include_once(): 未能打开 'spout-2.4.3\spout-2.4.3\src\Spout\Autoloader\autoload.php' 以包含 (include_path='.:/opt/alt/php71/usr/share /梨')

我在网上上传了我的网站,但我收到了这个错误。我正在上传一个 xlsx 文件。它在本地工作正常,但在线获取此错误。我搜索了同样的问题,他们说我应该在php.ini中编辑一些东西,但我在我的cpanel上找不到php.ini。现在我不知道该怎么办:((。Tyia。

我在我的 cpanel 上找到了这些,我不知道要编辑什么。对不起。

在此处输入图像描述

在此处输入图像描述在此处输入图像描述

0 投票
1 回答
1237 浏览

javascript - 文件扩展名或文件在 php 中使用 spout 库导出 excel 时无效

我在使用 spout 库导出 excel 时遇到问题。我不知道我的代码中的问题在哪里。我不太了解 spout 库。我已经尝试了很多次,但同样的错误一次又一次地发生。请指导我问题在哪里。

代码:

错误:

Excel 无法打开文件“person2018-09-19-07-20-30.xlsx”,因为文件格式或文件扩展名无效。验证文件未损坏且文件扩展名与文件格式匹配

在此处输入图像描述

0 投票
1 回答
126 浏览

hive - Speeding up Storm Topology

We have an application that moves csv files from HDFS to Hive. We are using Storm Topology for that process.

8 machines have been using. Each of them has 22 cores and 512 GB RAM. However, our code runs really slow. It takes 10 minutes to finish to transfer 6 million data.

10 MB of 60 files are transferring to HDFS in one second. We are trying to optimize our code, but it is obvious that we are doing something very wrong.

For Hive table, we have 64 buckets.

In our topology, we have 1 Spout and 2 Bolts. Basically our Spout gets the CSV file, emits lines to first Bolt which is responsible for parsing the data then the Bolt emits to second Bolt which is responsible for HDFS process.

HDFS Spout;

#xA;

Mapper;

#xA;

Hive Options;

#xA;

Config;

#xA;

Topology Builder;

#xA;

We are not sure with the following Parameters;

in HDFS Spout; .setMaxOutstanding(50_000);

in Hive Spout Options; .withTxnsPerBatch(2) .withBatchSize(50_000) .withTickTupleInterval(1);

in Config; .setNumWorkers(6); .setNumAckers(6);

Parallelism in Spout and Bolt; We gave 8 for each.

What should be the values for those parameters? Thanks in advance.

Edit; Here is our test result for 10 mb of 100 csv files;

hdfsSpout Executors: 8 Complete Latency: 1834.209 ms

recordParserBolt Executors: 8 Complete Latency: 0.019 ms

hiveBolt Executors: 8 Complete Latency: 1092.624 ms

0 投票
2 回答
1069 浏览

php - 使用带有 php 和 mysqli 的 spout 库导出 excel 花费的时间太长?

我在使用 spout 库生成 excel 时遇到问题。它需要很长时间才能完成。我有大量数据要导出。这将在 Excel 中生成至少 600 行和 98 列。

我想以非常快的模式导出 excel,但实际上需要 2 个多小时。对于少数员工来说,它生成 excel 的速度非常快,但对于 500 多名员工来说却不是这样。

0 投票
1 回答
392 浏览

apache-kafka - 如何一次将多个(不同)元组从一个 KafkaSpout 发送到螺栓?

我是 Apache Storm 的新手。

我正在尝试使用 Apache Kafka、Storm 和 ESPER CEP 引擎开发一个实时流处理系统。

为此,我有一个 KafkaSpout,它将向 Bolts(具有我的 CEP 查询)发出流以过滤流。

我已经创建了一个拓扑,我正在尝试在本地集群上运行它

问题是在我的 bolts 中运行的 CEP 查询需要成批的元组来对流执行窗口操作。在我的拓扑中,KafkaSpout 一次只向 Bolts 发送一个元组进行处理。所以我的 CEP 查询没有按预期工作。

我在 Storm 中使用默认的 KafkaSpout。有什么办法可以一次将多个不同的元组发送到螺栓?一些配置调整可以做到这一点,还是我需要为此制作我的自定义 KafkaSpout?

请帮忙!!

我的拓扑:

TopologyBuilder builder = new TopologyBuilder();

builder.setSpout("KafkaSpout", new KafkaSpout<>(KafkaSpoutConfig.builder("localhost:" + 9092, "weatherdata").setProp(ConsumerConfig.GROUP_ID_CONFIG, "weather-consumer-group").build()),4 );

builder.setBolt("A", new FeatureSelectionBolt(), 2).globalGrouping("KafkaSpout");

builder.setBolt("B", new TrendDetectionBolt(), 2).shuffleGrouping("A")

我正在使用 2 个螺栓和一个喷嘴。

我在 Bolt A 中运行的 esper 查询是

从 weatherEvent.win:length(3) 中选择 first(e), last(e) 作为 e

在这里,我试图从事件流的长度为 3 的窗口中获取第一个和最后一个事件。但是我得到相同的第一个和最后一个事件,因为 KafkaSpout 一次只发送一个元组。

0 投票
1 回答
784 浏览

php - 盒子/喷口没有写满行

我正在尝试使用 Box/Spout 将数据写入 Excel 工作表,使用写入器将数组传递给addrow()函数,但是当 Excel 文件完成时,工作表上缺少数据列......

该数组正是我需要的数据,我var_dump()用它来显示数据。数据最初来自 mysql 查询,所以我认为直接从mysqli_fetch_assoc函数添加行会起作用。遇到这个问题后,我创建了一个名为 row 的变量$newRow并将其声明为一个数组,其中包含 mysql fetch 数据。这仍然没有奏效。下面的代码来解释我的困惑......

这是我要添加的行的 var_dump:

出于隐私原因,我需要用 X 和 Y 替换真实数据。请理解,这样做我用这些字母替换了真实存在的数据。我会包括我使用的 mysql 查询,但它是不必要的,因为它清楚地成功提取了信息......

下一行是:

请记住,代码看起来完全像这样:

$newRow并且之前的$writer->addrow功能没有变化。

不幸的是,excel工作表另存为

在一行中与应该是什么:

我已经为此困惑了几个小时,还没有找到解决方案。我希望我的问题有意义,并且非常感谢任何建议。

0 投票
1 回答
107 浏览

php-7 - PHP电子表格读取密码XLSX

我整天都在搜索文档和网络,但似乎没有办法用 phpspreadsheet 以编程方式打开带密码的电子表格;和 spout 库。

在 Phpspreadsheet 中,我对 xlsx 阅读器很感兴趣,并遵循了继承链到根类,但没有一个有“setpassword”类型的方法(我注意到 writer 类有。)

这是两个图书馆的真正疏忽还是我错过了一些东西?在PHP中有没有其他方法可以做到这一点?或者接下来最好,以编程方式从一组 xlsx 文件中删除密码,然后使用任一库读取它?

0 投票
1 回答
2473 浏览

php - Box/Spout 文档与作曲家安装不匹配?

我已经使用box/spoutPHP 电子表格库有一段时间了。当我移动目录并box/spout通过键入重新安装时,我遇到了一个问题:

安装很顺利,但是当我尝试使用阅读器功能时出现了一个问题:

我收到了这个错误:

所以......在这一点上,我很好,我知道我以前一直在使用它,所以有什么不同......这是我一直在使用的代码:

这很好用!现在我不确定我从哪里得到这个代码。可能来自过时的文档,可能来自另一个流氓教程页面,当我过去遇到同样的问题时......这可能是作曲家问题吗?还是我只是疯了?