oracle导入solr,从Oracle数据库导入XML数据时solr dih会变慢
我正在执行一个solr-dih(dataimporthandler)任务,导入存储在Oracle数据库中的大约2000万个文档。最初,这些进口每秒将增加到500多个文档,但在前150000个文档中,速度将降至200以下,最终降低到50-60/s左右;此时,我的耐心达到了极限,我终止了这一过程。导入500万份文档不需要超过30个小时。
这些文档存储为xmltype,因此它们必须在查询中“解码”或外推。
一些团队成员认为使用getclobval()会导致JDBC管道中的内存膨胀和资源消耗(可能在服务器端),但我的测试(将getclob与xmlseriaize进行比较)似乎无法证明这一点。
也许在JDBC连接器中还有一些我还没有尝试过的连接选项,它们可以帮助减少开销并保持高吞吐量。
在过去,我使用简单的HTTP Post(在casperjs和php中)在不到一天的时间内提交了1.5亿个文档。所以我相信这是索尔·迪赫和/或我们与甲骨文的联系方式的问题。
连接如下:
name="OracDB"
type="JdbcDataSource"
driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@vape.blah-blah-blah.PUB"
user="some-user-name"
password="some-user-name"
convertType="true"
/>
查询如下
选择
产品ID,
产品类型,
状态,
XML序列化(文档docxml)为XML
从
cdbxml.products产品
哪里
产品“type='megasowe'
和总成状态
此处使用xpath从该数据库中的XML获取数据…看起来是这样的:
name="DB/Import"
dataSource="OracDB"
onError="skip"
query=""
>
name="productxml"
rootEntity="false"
dataSource="db"
dataField="DB/Import.XML"
processor="XPathEntityProcessor"
transformer="TemplateTransformer,com.megacorp.solr.dih.Transform"
forEach="/document">
[... and a bunch more stuff ...]
我已经运行了很多测试,以查看托管架构或import.xml配置中的更改是否可以改善或降低接收,从而导致无效。
几周前的某个时间点,流程在11小时内导入了700万个文档,然后源数据集增加到了近2000万个文档,这时事情似乎偏离了轨道。
我是否有错误的JDBC连接器设置?我是否可以设置一些内容来告诉Oracle不要缓存此查询..或…???这个问题使我们困惑。在我不得不在HTTPD上输入旧的暴力数据之前寻找一些提示。
oracle导入solr,从Oracle数据库导入XML数据时solr dih会变慢相关推荐
- 读取 XML 数据时,超出最大字符串内容长度配额 (8192)
格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://www.thermo.com/informatics/xmlns/limswebservice 进行反序列化时出错: Process ...
- wcf教程-传递数据过大怎么配置?读取 XML 数据时,超出最大字符串内容长度配额 (8192)
昨天测试客户端程序与服务端wcf时,出现一个错误: 读取 XML 数据时,超出最大字符串内容长度配额 (8192).通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQu ...
- 数据库插入大量数据时不要忘记先删除索引(小技巧)
数据库插入大量数据时不要忘记先删除索引,插入完成后再重新建立索引,索引会非常影响插入数据的速度.
- SQL高级语句-SQL 通配符-在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。
SQL 通配符 在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符. SQL 通配符必须与 LIKE 运算符一起使用. 在 SQL 中,可使用以下通配符: 通配符 描述 % 替代一个或多个字 ...
- mysql source导入_读取MySQL数据库中的数据【Python数据分析百例连载】
当所需的数据存贮在MySQL数据库中时,那么数据分析首要任务就是要通过Pandas读取MySQL数据.例如,某网站注册用户信息保存在MySQL数据库中,如图所示(部分数据),下面将使用Pandas的r ...
- php语句导入mysql_php如何将数据库导入mysql
php将数据库导入mysql的方法:1.通过CMD导入MySQL数据库:2.通过Navicat for MySQL导入MySQL数据库:3.通过PHP执行SQL文件导入MySQL数据库. 通过CMD导 ...
- mysql修改导入导出权限_数据库导入导出与赋权限及建同义词
1.数据库导入导出DMP文件(一般要以adm账号来执行) a)从正式库导出数据: exp sw_adm/swadm123@cwdevdb owner=sw_adm file=E:20121217cwd ...
- java中mysql中标点符号_java – 如何在使用JDBC从MySQL数据库中提取数据时避免丢失标点符号?...
首先,我正在使用: Java 1.7.0_02 MySQL 5.1.50 ZendServer CE (if that matters) 我用来从Java连接到MySQL的JDBC驱动程序是com.m ...
- linux给oracle导入sql语句,Linux数据库创建与数据导入
之前没搞过linux,这次客户的系统装的linux,项目发布环境及数据库已经安装好了.由于要急着上线,所以就边摸索边处理了.简单记 之前没搞过linux,这次客户的系统装的linux,项目发布环境及数 ...
最新文章
- Office OpenXML-Excel(一)
- 购物中心定位分析、调整方案及租金建议
- 教你如何使用EXCEL中的lookup函数(摘自“MS帮助和支持”)
- 张陈斌计算机控制工程,计算机控制讲稿--4.pdf
- solr创建索引_Solr:创建拼写检查器
- LeetCode 1304. 和为零的N个唯一整数
- 给iOS项目中添加图片,并通过UIImageView引用和显示该UIImage图片
- 一天一模式:Decorator模式
- linux建立ftp用户
- 全球首款5G手机出炉?其实只是一个笑话
- Luogu4116 Qtree3
- 利用natapp做内网穿透
- MTK手机烧录与调试
- windows10更新服务器修改,Windows 10彻底关闭自动更新(Windows Update和Windows Update Medic Service)...
- QT中的explicit关键字的意思
- python电影爬虫背景介绍_Python爬虫入门教程01之爬取豆瓣Top电影
- Geek-10h-re-wp
- JS(JavaScript)中实现深浅拷贝的几种方式(详细阅读 非常重要)。
- ORA-12170:TNS:连接超时错误处理
- Deepin - 装机必备软件记录