当前正在测试集群,使用"CREATE TABLE AS"
时,生成的托管表最终是一个文件〜1.2 GB,而从中创建查询的基本文件有许多小文件。 SELECT部分运行很快,但是结果是运行了2个reducer以创建一个占用75%运行时间的文件。
其他测试:
1)如果使用"CREATE EXTERNAL TABLE AS"
,则查询运行非常快,并且不涉及合并文件步骤。
2)此外,HDP 3.0.1版似乎没有发生合并。
当前正在测试集群,使用"CREATE TABLE AS"
时,生成的托管表最终是一个文件〜1.2 GB,而从中创建查询的基本文件有许多小文件。 SELECT部分运行很快,但是结果是运行了2个reducer以创建一个占用75%运行时间的文件。
其他测试:
1)如果使用"CREATE EXTERNAL TABLE AS"
,则查询运行非常快,并且不涉及合并文件步骤。
2)此外,HDP 3.0.1版似乎没有发生合并。
您可以更改function myFunction() {
var ss=SpreadsheetApp.openById('1LETEuEdYxyIxQtQgFWTwm3GgZWDAR5ehUUEIh_jN7zA');
var sh=ss.getSheetByName('Sheet1');
var lr=sh.getRange(2,5).getDataRegion(SpreadsheetApp.Dimension.ROWS).getLastRow();
var vA=sh.getRange(2,5,lr-1,1).getValues();
var doc = DocumentApp.getActiveDocument();
for(var i=0;i<vA.length;i++) {
var docid=DocumentApp.openById(vA[i][0]);
var tA=docid.getBody().getTables();
doc.getBody().appendParagraph(tA[3].getRow(2).getText());
var rows=tA[7].getNumRows();
for(var j=0;j<rows-5;i++) {
doc.getBody().appendParagraph(tA[7].getRow(j+5).getText());
}
}
}
,以使hive根据减速器的输入大小(默认值设置为1 GB或1000000000字节)确定减速器的数量[您可以参考@leftjoin提供的链接以获取有关的更多详细信息。此属性,并根据您的需要进行微调]
您可以尝试的另一种选择是更改以下属性
set hive.exec.reducers.bytes.per.reducer=<number>