我们如何在Spark提交期间解析DB2 java.io.CharConversionException

时间:2017-11-10 09:33:06

标签: scala apache-spark db2

我在火花提交期间收到以下错误:

  

org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)   引起:com.ibm.db2.jcc.am.SqlException:[jcc] [t4] [1065] [12306] [4.17.28]抓到了java.io.CharConversionException。有关详细信息,请参阅附件Throwable。 ERRORCODE = -4220,SQLSTATE = null           在com.ibm.db2.jcc.am.fd.a(fd.java:731)

根据IBM文档Click here,我在下面添加了这个属性,但是直到出现相同的错误。我正在使用db2jcc4.jar驱动程序。

  

有没有办法在spark期间传递db2.jcc.charsetDecoderEncoder   提交。

System.setProperty("db2.jcc.charsetDecoderEncoder", "3")    
val prop = new Properties()
prop.put("driver", driver)
prop.put("db2.jcc.charsetDecoderEncoder", "3")
prop.put("-Ddb2.jcc.charsetDecoderEncoder", "3")
prop.put("continueBatchOnError", "true")`

sqlContext.read.jdbc(
  url = url,
  table = table,
  predicates = parts,
  connectionProperties = prop)

1 个答案:

答案 0 :(得分:0)

最后我解决了DB2 java.io.CharConversionException问题,只将两个参数传递给spark driver&遗嘱执行人。

const RootComponent = () => {/* root component */};
const EntryPoint = process.env.NODE_ENV === 'production'
    ? (props) => (<BrowserRouter><RootComponent {...props} /></BrowserRouter>)
    : (props) => (<HashRouter><RootComponent {...props} /></HashRouter>)
export default EntryPoint