自动化提取书生(sep,gd等)文档内容,更新到hive

本文档介绍了如何自动化批量提取sep、gd等书生公司的文档内容,将其插入到Hive数据库。主要涉及c#连接Hive、使用WebBrowser自动化操作网页解码、sftp下载文件以及性能优化策略。在处理过程中,遇到了网页解码服务、文件提取判断、Hive更新错误等问题,并给出了相应的解决方案和未来扩展计划。
摘要由CSDN通过智能技术生成

一,业务需求

我们单位用了很多书生公司的文件,例如sep,gd,gw等,需要提取这些文档的内容,插入到数据库,这样才能做内容检索。

我们这里总计有1.6万个sep文档(也有说法是6万个),4.5万个gd文档,要自动化批量提取。

一是对存量文件,得要实现批量提取。

二是对于每日新增文件,得要定时执行提取。

 

二,具体场景

目前把文档存在一台linux服务器上,数据保存在hive里。

书生公司提供了一个网页,能够手动提取一个文件,适用于sep和gd,方法是一样的。
如果使用网页版的话,操作流程:
1,c#连接hive,读取空的sep(gd)文档列表。
2,写个ftp程序,从linux上下载文件到本地。
3,使用网页解码,获取文件内容。(模拟网页操作,实现持续自动化操作网页)
4,将sep(gd)文档内容插入到hive。

5,删除本地文件。

难点和思路:

1,网页解码服务。如果提供一个jar包或者dll,只要调用一下就可以了,那会很方便。但是呢,现在提供的是网页,那就麻烦了。得要增加一个自动操作网页的方法;正好,之前做过类似的事情,操作网页自动化登录,现成可用。

思路:

(1),本地配置服务,替换配置文件,使得解码可以进行。

书生公司会提供两个文件:GrantFile.xml,DataIO_Soft.dll,将这两个文件替换到sursen/sedcore文件夹下,这样网页才可以实现解码。(去年如果就给我们提供这个方法,就不会等那么久了。。)

(2),建立解码网站,配置到tomcat里,虽然只有一个页面。(^_^)

(3),c#客户端,建立一个WebBrowser,模拟自动操作。(这里感谢万老师的例子,以前都不知道还能自动点击。)

2,c#连接hive。正好,19年10月份的时候做过,采用ODBC的方式,现成可用。

这就是积累,所以,得要坚持做一件事情,这样才好,会越来越轻松。

3,从linux服务器下载文件。手工操作的话,是使用ftp的方式;java有sms的方式,查了下,也咨询了同事,可以使用sftp的方式。(又获得一个技能点)

 

三,详细设计

(一),c#连接hive,参考以前的文章。

(二),sftp下载文件。

ftp协议,这是个专门用于传输文件的协议,跨平台跨系统,有专门的手工客户端,也有程序包,非常实用。(这里感谢周老师提供的资料,直接使用了。)


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值