我正在开发一个Java Web应用程序.该应用程序连接到Lucene索引.我创建了一个IndexSearcher的单例实例.此实例打开一些文件.当我重新部署Web应用程序时,由早期的IndexSearcher实例打开的文件将继续保持打开状态,并且重新部署的应用程序将创建另一个实例.经过一些重新部署后,系统开始抛出"太多打开文件"异常.我想在重新部署之前关闭旧实例,以便关闭旧文件,但我无法弄清楚如何做到这一点?web.xml中是否有一个指令取消部署,类似于load-on-startup?我在jboss服务器上运行web应用程序.
我正在尝试使用自定义jar在Elastic MapReduce(EMR)上运行一个作业.我正在尝试在一个目录中处理大约1000个文件.当我使用参数提交作业时s3n://bucketname/compressed/*.xml.gz,出现"匹配的0个文件"错误.如果我只传递一个文件的绝对路径(例如s3n://bucketname/compressed/00001.xml.gz),它运行正常,但只处理一个文件.我尝试使用目录(s3n://bucketname/compressed/)的名称,希望将处理其中的文件,但这只是将目录传递给作业.
与此同时,我有一个较小的本地hadoop安装.在那里,当我通过通配符(/path/to/dir/on/hdfs/*.xml.gz)传递我的工作,它工作正常,所有1000个文件都正确列出.
如何让EMR列出我的所有文件?
我正在解析一堆XML文件并将从它们获得的值插入到MySQL数据库中.mysql表的字符集设置为utf8.我使用以下连接URL连接到数据库 - jdbc:mysql://localhost:3306/articles_data?useUnicode=false&characterEncoding=utf8
大多数带有unicode字符的字符串值都输入正常(如希腊字母等),除了一些带有数学符号的字符串值.特别是一个例子 - 当我尝试插入带有数学脚本大写字母g的字符串时(img at www.ncbi.nlm.nih.gov/corehtml/pmc/pmcents/1D4A2.gif)(http://graphemica.com/) (试图解析并插入这篇文章),我得到以下异常 -
java.sql.SQLException: Incorrect string value: '\xF0\x9D\x92\xA2 i...' for column 'text' at row 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2554)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1761)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2046)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1964)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1949)
Run Code Online (Sandbox Code Playgroud)
如果我将连接URL更改为-jdbc:mysql:// localhost:3306/articles_data,则插入有效,但所有常规UTF8字符都将替换为问号.
有两种可能的方法我试图解决它,并且还没有成功 -
解析文章时,保持编码.我正在使用org.apache.xerces.parsers.DOMParser解析xml文件,但无法弄清楚如何防止它解码(相关的XML - <p>𝒢 is a set containing...</p>).我可以重新编码它,但这似乎效率低下.
将数学符号插入数据库.
我使用关系 GreaterThan 定义了一些约束 -
x = sympy.Symbol('x')
constraint1 = (x >= 0)
Run Code Online (Sandbox Code Playgroud)
我现在想检查约束是否适用于任意值“x”。我尝试使用sympy.checksol,但出现属性错误,所以我猜这不是正确的方法 -
In [7]: sympy.checksol(constraint1, {x: 3})
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-7-cc41bd5986e3> in <module>()
----> 1 sympy.checksol(constraint1, {x: 3})
/Library/Python/2.7/site-packages/sympy/solvers/solvers.pyc in checksol(f, symbol, sol, **flags)
200 if attempt == 0:
201 val = f.subs(sol)
--> 202 if val.atoms() & illegal:
203 return False
204 elif attempt == 1:
AttributeError: 'bool' object has no attribute 'atoms'
Run Code Online (Sandbox Code Playgroud)
我什至尝试过constraint1.evalf,但它总是自行返回 -
In [10]: constraint1.evalf(subs={x: 3}) …Run Code Online (Sandbox Code Playgroud)