Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/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
Performance Vertica从S3复制拼花文件时出现性能问题_Performance_Amazon S3_Bigdata_Vertica - Fatal编程技术网

Performance Vertica从S3复制拼花文件时出现性能问题

Performance Vertica从S3复制拼花文件时出现性能问题,performance,amazon-s3,bigdata,vertica,Performance,Amazon S3,Bigdata,Vertica,我有66个拼花文件,在S3中使用GZIP压缩,包括20亿条记录,我使用Vertica copy命令将数据从S3复制到Vertica,如下所示 COPY schema.table ( col1, col2, col3, col4, col5, col6 ) FROM 's3://test_path/*' PARQUET ABORT ON ERROR DIRECT NO COMMIT 我们有4个垂直节。要复制这20亿行,需要45分钟以上的时间。Vertica文档说,默认情况下,从S3加载文件在多

我有66个拼花文件,在S3中使用GZIP压缩,包括20亿条记录,我使用Vertica copy命令将数据从S3复制到Vertica,如下所示

COPY schema.table ( col1, col2, col3, col4, col5, col6 ) FROM 's3://test_path/*' PARQUET ABORT ON ERROR DIRECT NO COMMIT 
我们有4个垂直节。要复制这20亿行,需要45分钟以上的时间。Vertica文档说,默认情况下,从S3加载文件在多个节点上以多线程运行。我们的DBA告诉我,达到最佳性能的方法是并行运行66个查询(每个文件1个查询),这样每个查询将在不同的节点上运行,每个查询将加载不同的文件

Vertica Copy命令是通过Java编程调用的,我不想对每个文件运行Copy命令,这会给维护事务带来麻烦,而且在峰值负载期间,文件可能会增加到1000多个

我只想使用一个COPY命令来缩短执行时间,任何指针和帮助都将不胜感激

谢谢

试试这个:

COPY schema.table ( col1, col2, col3, col4, col5, col6 ) 
FROM 's3://test_path/*' ON ANY NODE PARQUET
ABORT ON ERROR DIRECT;
我不知道你的DBA是怎么想到每个文件应该运行一个命令的。。。 上面的命令将在解析阶段涉及4个节点中的每一个,通常每个节点都有几个并行解析器。一旦解析阶段完成,数据将根据表的投影分割方案在节点间进行分割,每个节点将对自己的数据进行排序和编码,最后将其写入磁盘,并在最后提交。只需记住文件glob字符串后面的ON ANY NODE指令


使用1000个文件而不是60个文件,最终可能会导致性能下降(例如,根据节点的RAM大小,数据量只有几TB),然后可能需要使用通常的分而治之方法将命令拆分为多个命令。刚开始试一下…

谢谢您的回复。我尝试了“在任何节点上”,它的性能与以前相同。根据Vertica文档,默认情况下,Copy命令使用“在任何节点上”来说明问题:当复制正在运行时,运行查询:
SELECT*FROM load\u streams,其中正在执行,重复。您可以监视已解析的行的百分比,以及解析完所有行后,已排序的行的百分比。它让您知道在读取/解析输入文件时是否会浪费时间,或者在第二阶段,当行被排序以匹配目标投影并编码以写入ROS容器时是否会浪费时间。感谢您的检查。我还发布了另一个线程,与分隔文件和拼花文件相比,perf问题在任何指针中都会非常有用。谢谢