将大量数据从HDFS导出到Vertica时出现Too many ROS containers ...
错误。我知道direct
有一个vsql COPY
选项,它将绕过WOS并将数据加载到ROS容器中。我还注意到Sqoop Export中的--direct
,see this Sqoop User Guide。我只是想知道这两个"直接"具有相同的功能。
我尝试修改了MoveOutInterval
,MergeOutInterval
之类的Vertica配置参数......但这并没有多大帮助。
所以有人知道Sqoop导出的direct
模式是否有助于解决ROS容器问题。谢谢!
答案 0 :(得分:2)
--direct
仅受特定数据库连接器的支持。由于Vertica没有一个,因此您将使用Generic JDBC。我真的怀疑使用--direct
做了什么...但如果你真的想测试这个,你可以查看query_requests
中发送的语句。
select *
from query_requests
where request_type = 'LOAD'
and start_timestamp > clock_timestamp() - interval '1 hour'
这将显示过去一小时内的所有加载语句。 sqoop语句应转换为COPY
。我真的希望无论如何!如果它是一堆INSERT ... VALUES
语句,那么我强烈建议不要使用它。如果它没有生成COPY
,那么您需要更改上面的查询以查找INSERT
。
select *
from query_requests
where request_type = 'QUERY'
and request ilike 'insert%'
and start_timestamp > clock_timestamp() - interval '1 hour'
让我知道你在这里找到了什么。如果它正在进行INSERT...VALUES
那么我可以告诉你如何修复它(但它有点工作)。