提高从hdfs导出sqoop的效率

jc3wubiy  于 2021-05-30  发布在  Hadoop
关注(0)|答案(3)|浏览(460)

我正在尝试使用sqoop将存储在hdfs中的文件中的数据导出到vertica。对于大约10k的数据,文件在几分钟内就可以加载。但当我试着运行大量的数据时,它在15分钟左右加载了大约0.5%。我曾试图增加Map绘制者的数量,但他们并没有起到任何提高效率的作用。即使设置块大小来增加Map器的数量,也不会增加Map器的数量。
请帮忙。
谢谢!

ffvjumwh

ffvjumwh1#

大多数mpp/rdbms都有sqoop连接器来利用hdfs和mpp/rdbms之间的并行性并提高数据传输效率。然而,vertica似乎采取了这种方法:http://www.vertica.com/2012/07/05/teaching-the-elephant-new-tricks/httpshttp://github.com/vertica/vertica-hadoop-connector

hi3rlvi2

hi3rlvi22#

这是一个“广泛”的数据集吗?它可能是一个sqoop错误https://issues.apache.org/jira/browse/sqoop-2920 如果列数非常高(以数百为单位),sqoop将开始阻塞(cpu上的列数非常高)。当字段的数量很小时,通常情况是相反的——当sqoop很无聊,rdbms系统跟不上的时候。

ilmyapht

ilmyapht3#

在使用批导出时,请尝试使用以下属性增加每个事务的记录数和每个语句的记录数参数: sqoop.export.records.per.statement : 属性将在一个insert语句中聚合多行。 sqoop.export.records.per.transaction: 每笔交易将发布多少insert语句
我希望这些一定能解决这个问题。

相关问题